Právě je 29 bře 2024 15:39

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 4 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop - V šabloně in transit se zobrazuje proměnná
PříspěvekNapsal: 25 dub 2018 09:58 
C4 zákazník

Registrován:
25 dub 2018 09:49
Příspěvky:
5
Dobrý den,
při úpravě emailu in transit jsem chtěla doplnit info pro zákazníky: “Při převzetí zboží zaplatíte xxx Kč“ pomocí {total_paid}. Všechny ostatní proměnné fungují: název shopu, č. objednávky,.. jen u této konkrétně se v emailu nezobrazuje skutečné číslo ale samotná proměnná. V čem je prosím chyba?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - V šabloně in transit se zobrazuje proměnná
PříspěvekNapsal: 26 dub 2018 12:59 
Uživatelský avatar

Registrován:
03 bře 2011 22:21
Příspěvky:
640
Všechny proměnné v emailu musí být napřed v kódu vytvořeny jako data. Například v /classes/PaymentModule.php jsou to proměnné za {firstname}.

V emailové šabloně se pak všechny proměnné nahrazují jako text. Pokud v datech ta proměnná není, tak není nahrazena a zůstane tam jako {něco}.

_________________
M4 Vše v jednom SEO - snadný a na funkce bohatý SEO plugin
https://www.presta-addons.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - V šabloně in transit se nezobrazuje proměnná
PříspěvekNapsal: 26 dub 2018 16:02 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 08:14
Příspěvky:
8492
Dobrý den,

nejedná se o chybu, ale pro tuto emailovou šablonu prostě není tato proměnná nadefinovaná. Pokud ji chcete použít, tak na FTP serveru v souboru /controllers/admin/AdminOrdersController.php najděte tyto řádky:
Kód:
$templateVars = array(
   '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
   '{firstname}' => $customer->firstname,
   '{lastname}' => $customer->lastname,
   '{id_order}' => $order->id,
   '{shipping_number}' => $order->shipping_number,
   '{order_name}' => $order->getUniqReference()
);
a upravte je na následující tvar (přidání jednoho řádku s total_paid):
Kód:
$templateVars = array(
   '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
   '{firstname}' => $customer->firstname,
   '{lastname}' => $customer->lastname,
   '{id_order}' => $order->id,
   '{total_paid}' => Tools::displayPrice($order->total_paid, (int)$order->id_currency, false),
   '{shipping_number}' => $order->shipping_number,
   '{order_name}' => $order->getUniqReference()
);
Místo proměnné {total_paid} se pak v emailové šabloně zobrazí celková částka i s měnou.

Jelikož se jedná o zásah do originálního zdrojového kódu, tak po aktualizaci aplikace bude nutné úpravu znovu aplikovat. Nebo lze úpravu řešit bez zásahu do originálního zdrojového kódu pomocí přepsání.

Případně na oficiálním diskuzním fóru se v diskuzi [SOLUTION] How to use order_conf variables in any email template. řešilo zpřístupnění všech proměnných ve všech emailových šablonách.

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - V šabloně in transit se nezobrazuje proměnná
PříspěvekNapsal: 26 dub 2018 19:14 
C4 zákazník

Registrován:
25 dub 2018 09:49
Příspěvky:
5
Radek Plašil píše:
Dobrý den,

nejedná se o chybu, ale pro tuto emailovou šablonu prostě není tato proměnná nadefinovaná. Pokud ji chcete použít, tak na FTP serveru v souboru /controllers/admin/AdminOrdersController.php najděte tyto řádky:
Kód:
$templateVars = array(
   '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
   '{firstname}' => $customer->firstname,
   '{lastname}' => $customer->lastname,
   '{id_order}' => $order->id,
   '{shipping_number}' => $order->shipping_number,
   '{order_name}' => $order->getUniqReference()
);
a upravte je na následující tvar (přidání jednoho řádku s total_paid):
Kód:
$templateVars = array(
   '{followup}' => str_replace('@', $order->shipping_number, $carrier->url),
   '{firstname}' => $customer->firstname,
   '{lastname}' => $customer->lastname,
   '{id_order}' => $order->id,
   '{total_paid}' => Tools::displayPrice($order->total_paid, (int)$order->id_currency, false),
   '{shipping_number}' => $order->shipping_number,
   '{order_name}' => $order->getUniqReference()
);
Místo proměnné {total_paid} se pak v emailové šabloně zobrazí celková částka i s měnou.

Jelikož se jedná o zásah do originálního zdrojového kódu, tak po aktualizaci aplikace bude nutné úpravu znovu aplikovat. Nebo lze úpravu řešit bez zásahu do originálního zdrojového kódu pomocí přepsání.

Případně na oficiálním diskuzním fóru se v diskuzi [SOLUTION] How to use order_conf variables in any email template. řešilo zpřístupnění všech proměnných ve všech emailových šablonách.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 4 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři

Seznam všech partnerů

PrestaShop Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz