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ář

Skrytí pole firma, dič v jednostránkovém nákupním procesu – nutná aktivace b2b – Prestashop 1.6

b2b-nastaveni-prestashop-16Nezobrazuje se Vám možnost zadání firmy v jednostránkovém nákupním procesu? Aby se Vám zobrazilo pole společnost (firma) je nutností povolit režim B2B. Pole firma se zobrazí, ovšem při registraci zákazníka přes authentication.tpl se zase zobrazí spoustu nepotřebných polí jako SIRET, APET a Website.
Řešení je jednoduché, v souboru order-opc-new-account.tpl (jednostránkový obj. proces) z
{if $field_name eq „company“ && $b2b_enable} odstraňte && $b2b_enable tzn. výsledný řádek bude
{if $field_name eq „company“}

Nyní se bude zobrazovat pole firma, případně dič bez aktivování režimu B2B.

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