PrestaShop 8.2.0 ke stažení zde.
Příspěvek PrestaShop 8.2.0 ke stažení pochází z Prestashop česky
Příspěvek Aktuálně nejlepší verze prestashopu je verze 8 pochází z Prestashop česky
Příklad:
Po stisknutí klávesy Enter skočí výsledky filtrování na stránku 2 místo na stranu 1.
Chcete-li tuto chybu opravit, je to velmi jednoduché: stačí přidat e.preventDefault() do funkce submitForm v souboru js/admin.js
function formSubmit(e, button) { var key; key = window.event ? window.event.keyCode : e.which; if (key == 13) { e.preventDefault(); getE(button).focus(); getE(button).click(); } }
Tato chyba se vyskytuje v prohlížeči Chrome a ve verzi prestashopu 1.5.
Příspěvek Oprava chyby ve filtrování Prestashopu 1.5. Admin>Katalog> Strana 2 místo 1 – Prohlížeč Chrome pochází z Prestashop česky
Stable verze PrestaShopu 1.7 vyšla (1.7.3.0), nyní můžete vyzkoušet i demo.
Prestashop 1.7.3.0 stahujte zde
Demo: http://demo-store.prestashop.com/index.php
Příspěvek Vyšel PrestaShop 1.7.3.0 pochází z Prestashop česky
Poptáváme správce webu, který by měl zájem publikovat články o systému prestashop, případně publikoval novinky o systému prestashop, psal odborné články, například rady na úpravy či tipy na šablony a moduly. Pro případ zájmu či více informací nás kontaktujte na info(zavináč)prestashopcesky.cz
Příspěvek Poptáváme správce webu pochází z Prestashop česky
Pro přechod z http na https je potřeba následující.
1) koupě-nainstalování certifikátu na hostingu
2) v administraci > nastavení > Povolit SSL > ANO
3) v administraci > nastavení > Vynutit SSL pro všechny stránky > ANO
4) v šabloně, kterou používáte ve všech files nahradit {$base_dir} za {$base_dir_ssl}
5) pokud Vám stále prohlížeč píše, že web není zabezpečený a hází to chybu na logo, je potřeba upravit soubor classes/Link.php řádek 410
return Tools::getProtocol().Tools::getMediaServer($filepath).$filepath;
nahraďte za
return $this->protocol_content.Tools::getMediaServer($filepath).$filepath; return Tools::getShopProtocol().Tools::getMediaServer($filepath).$filepath;
6) v databázi, kde jste používali http je potřeba přepsat na https. Pokud jste např. v produktech prolinkovávali v popisech, některé moduly používají http atd..
Nyní již by mělo být vše hotové.
Příspěvek Přechod na HTTPS v Prestashopu 1.5.6.3 pochází z Prestashop česky
Vytvořte jednoduchý skript, který dokáže hromadně nastavit oprávnění nové skupiny ke kategoriím. Takže si ve Vašem počítači vytvořte soubor například s názvem plnenikategorie.php a do něho vlože následující obsah:
<?php require(dirname(__FILE__).'/config/config.inc.php'); if ($_SERVER["REQUEST_METHOD"] == "POST") { $new_group = $_POST["new_group"]; $categories = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT DISTINCT c.* FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)Context::getContext()->language->id.') '); foreach($categories as $category){ $categoryObj = new Category($category['id_category'], (int)Context::getContext()->language->id); $categoryObj->addGroups(array($new_group)); } echo 'Updated'; } else { echo' <form method="post" action="'.$_SERVER["PHP_SELF"].'"> Enter New Group id: <input type="text" name="new_group"> <input type="submit" name="update" > </form>'; } ?>
Soubor pak uložte a nahrajte na FTP server do adresáře, ve kterém se nachází instalace aplikace PrestaShop.
Potom si v administraci v sekci Zákazníci > Skupiny zákazníků vytvořte novou skupinu (ve sloupečku Číslo [ID] zjistíte ID skupiny).
Pak už jen v adresním řádku internetového prohlížeče zadejte adresu Vašich stránek s tímto nově vytvořeným souborem (http://www.nazev-vasi-domeny.cz/zmena.php).
Do políčka Zadejte ID skupiny napište ID skupiny a klikněte na Odeslat.
Tím se automaticky nastaví přístup této skupině ke všem kategoriím.
Testováno ve starší verzi (1.5.6.1), ale i v nejnovější (1.6.1.6).
Příspěvek Nová skupina zákazníků > povolení zobrazení pro kategorie pochází z Prestashop česky
1) je potřeba přidat do frontController.php (classes/controller) přidat následující fci
public static function ConvertPrice($value,$currencyFrom,$currencyTo){ $currency_from = new currency($currencyFrom); $currency_to = new Currency($currencyTo); return Tools::displayPrice(Tools::convertPriceFull($value,$currency_from,$currency_to),$currency_to); }
Upravený soubor uložte a nahrajte do override/classes/controller/
2) pro zobrazení v product.tpl je potřeba kamkoliv kde se má zobrazovat cena přidat.
{convertPrice price=FrontController::ConvertPrice($product->price,$cookie->id_currency,2)}
Doporučuji vložit pod kód:
<span id="our_price_display" itemprop="price">{convertPrice price=$productPrice}</span>
3) pro zobrazení v product-list.tpl je potřeba kamkoliv kde se má zobrazovat cena přidat.
Cena s DPH:
{convertPrice price=FrontController::ConvertPrice($product.price,$cookie->id_currency,3)}
Cena bez DPH:
{convertPrice price=FrontController::ConvertPrice($product.price_tax_exc,$cookie->id_currency,3)}
Opět doporučuji vložit pod kód:
{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
Pokud chcete upravit ceny i v košíku a jinde, je potřeba stejným postupem upravovat dané soubory.
Příspěvek Jak zobrazit u produktu cenu ve dvou měnách pochází z Prestashop česky
Spoustu Vás trápí po instalaci prestashopu 1.6.x nápis „menu_configure“
Jedná se o modul blockcontactinfos (Blok kontaktní informace), v kterém můžete vyplnit všechny údaje, pouze změna pojmenování sloupce se tam nevyskytuje.
Řešením je v administraci >> Lokalizace >> Překlady >> Typ překladu: překlady nainstalovaných modulů >> upravit >> najít modul blockcontactinfos a nápis „menu_configure“ přeložit na česky znějící „Informace o obchodu“
Příspěvek Jak přepsat nápis „menu_configure“ v Prestashop 1.6.x pochází z Prestashop česky
Chcete u popisu produktu či v CMS přidat iframe či script? Bohužel prestashop vyskočí s chybou a do databáze se nic nezapíše. Je to standardní opatření Prestashopu 1.5 a novější verze z důvodu bezpečnosti. Například náš modul Heureka hodnocení obchodu zákazníky používá script .js. Po instalaci ovšem prestahop napíše chybu a potřebný zápis se neprovede do databáze. Řešením je následující úprava.
Soubor classes/Validate.php ve verzi 1.5.5 a vyšší je potřeba zakomentovat následující řádky
// if (preg_match('/<[\s]*script/ims', $html) || preg_match('/('.$events.')[\s]*=/ims', $html) || preg_match('/.*script\:/ims', $html)) // return false;
Ve verzi 1.5.5 a starší ve funkci isCleanHtml($html) zakomentovat
/* $events = 'onmousedown|onmousemove|onmmouseup|onmouseover|onmouseout|onload|onunload|onfocus|onblur|onchange'; $events .= '|onsubmit|ondblclick|onclick|onkeydown|onkeyup|onkeypress|onmouseenter|onmouseleave|onerror|onselect|onreset|onabort|ondragdrop|onresize|onactivate|onafterprint|onmoveend'; $events .= '|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onmove'; $events .= '|onbounce|oncellchange|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondeactivate|ondrag|ondragend|ondragenter|onmousewheel'; $events .= '|ondragleave|ondragover|ondragstart|ondrop|onerrorupdate|onfilterchange|onfinish|onfocusin|onfocusout|onhashchange|onhelp|oninput|onlosecapture|onmessage|onmouseup|onmovestart'; $events .= '|onoffline|ononline|onpaste|onpropertychange|onreadystatechange|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onsearch|onselectionchange'; $events .= '|onselectstart|onstart|onstop'; return (!preg_match('/<[ \t\n]*script/ims', $html) && !preg_match('/('.$events.')[ \t\n]*=/ims', $html) && !preg_match('/.*script\:/ims', $html)); */
Od verze 1.5.6 je v administraci možnost povolení/zakázání nastavení použití iframe,..
Je potřeba nastavit v administraci na ANO + upravit zdrojový kód
public static function isCleanHtml($html, $allow_iframe = false)
nahradit za
public static function isCleanHtml($html, $allow_iframe = false){ return true; }
Soubor classes/Validate.php nahrajte do override/classes/Validate.php
Modifikace funkcí TinyMCE (přidání iframe, script,…) je potřeba upravit soubor ADMINsložka/themes/default/template/controllers/product/helpers/form.tpl
tinySetup({ editor_selector :"autoload_rte", setup : function(ed) {
nahradit za
tinySetup({ editor_selector :"autoload_rte", theme_advanced_buttons1 : "save,newdocument,bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect, fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,search,replace,bullist,numlist,outdent,indent,blockquote,undo,redo,link,unlink,anchor,image,cleanup,help,codemagic,insertdate,inserttime,preview,forecolor,backcolor", theme_advanced_buttons3 : "code,tablecontrols,hr,removeformat,visualaid,sub,sup,charmap,emotions,iespell,media,advhr,print,ltr,rtl,fullscreen", theme_advanced_buttons4 : "styleprops,cite,abbr,acronym,del,ins,attribs,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : false, extended_valid_elements: 'pre[*],script[*],style[*]', valid_children: "+body[style|script],pre[script|div|p|br|span|img|style|h1|h2|h3|h4|h5],*[*]", valid_elements : '*[*]', force_p_newlines : false, cleanup: false, forced_root_block : false, force_br_newlines : true, setup: function(ed) {
Příspěvek V popisu (description) nelze používat script, iframe, form, input, embed, object pochází z Prestashop česky