Právě je 20 dub 2024 10:55

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




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 10:58 
C4 zákazník

Registrován:
25 dub 2018 10: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 13:59 
Uživatelský avatar

Registrován:
03 bře 2011 23: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 17:02 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8504
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 20:14 
C4 zákazník

Registrován:
25 dub 2018 10: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 [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvní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:  
cron
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