Přechod na HTTPS v Prestashopu 1.5.6.3

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é.

Rubriky: Tipy | Štítky: , | Napsat komentář

Nová skupina zákazníků > povolení zobrazení pro kategorie

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).

Rubriky: Scripty, Tipy, Úpravy | Štítky: , , | Napsat komentář

Jak zobrazit u produktu cenu ve dvou měnách

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)}

Číslo značí ID měny viz.
prestashop-zobrazeni-2-men-produkt

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.

Rubriky: Úpravy | Štítky: , , , | 1 komentář

Jak přepsat nápis „menu_configure“ v Prestashop 1.6.x

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“

Rubriky: Tipy | Štítky: | 2 komentáře

V popisu (description) nelze používat script, iframe, form, input, embed, object

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.

PrestaShopException-Property-CMS-content-is-not-valid-throw-new-PrestaShopException($message)

Celý příspěvek

Rubriky: Úpravy | Štítky: , , , , , , , | Napsat komentář