Právě je 19 led 2021 17:07

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ýpis produktů v textových e-mailech
PříspěvekNapsal: 26 čer 2013 11:09 

Registrován:
12 říj 2011 19:09
Příspěvky:
175
Dobrý den, testuji objednávky na shopu a narazila jsem na problém v mailech.
Posílám e-maily jako text, nikoli v html a potřebuji kvůli dodavateli dostat v modulu mailalerts do souboru new_order.txt název objednaného produktu , popř. i kod produktu jak mám soubor upravit ?
To samé potřebuji dostat do mailu order_conf.txt
Děkuji předem za rychlou odpověď


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Výpis produktů v textových e-mailech
PříspěvekNapsal: 27 čer 2013 10:28 
C4 podpora
C4 podpora

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

ano, produkty se vypisují pouze v html mailech. Pokud tedy chcete informace o produktech přidat i do textových mailů, tak do emailu o nové objednávce new_order.txt přidejte:
Kód:
{items}

A v souboru modules/mailalerts/mailalerts.php si upravte vzhled výpisu produktů, protože stávající obsahuje i html kód pro tabulku. Jedná se o tuto část kódu:
Kód:
   $items_table .=
      '<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
         <td style="padding:0.6em 0.4em;">'.$product['product_reference'].'</td>
         <td style="padding:0.6em 0.4em;">
            <strong>'
               .$product['product_name'].(isset($product['attributes_small']) ? ' '.$product['attributes_small'] : '').(!empty($customization_text) ? '<br />'.$customization_text : '').
            '</strong>
         </td>
         <td style="padding:0.6em 0.4em; text-align:right;">'.Tools::displayPrice($unit_price, $currency, false).'</td>
         <td style="padding:0.6em 0.4em; text-align:center;">'.(int)$product['product_quantity'].'</td>
         <td style="padding:0.6em 0.4em; text-align:right;">'.Tools::displayPrice(($unit_price * $product['product_quantity']), $currency, false).'</td>
      </tr>';
}
foreach ($params['order']->getCartRules() as $discount)
{
   $items_table .=
   '<tr style="background-color:#EBECEE;">
         <td colspan="4" style="padding:0.6em 0.4em; text-align:right;">'.$this->l('Voucher code:').' '.$discount['name'].'</td>
         <td style="padding:0.6em 0.4em; text-align:right;">-'.Tools::displayPrice($discount['value'], $currency, false).'</td>
      </tr>';
}


Stejným způsobem si upravte mail, který přijde zákazníkovi. Akorát do šablony order_conf.txt přidejte:
Kód:
{products}

A v souboru classes/PaymentModule.php si zase upravte vzhled výpisu produktů. Jedná se o tuto část kódu:
Kód:
   $products_list .=
   '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
      <td style="padding: 0.6em 0.4em;width: 15%;">'.$product['reference'].'</td>
      <td style="padding: 0.6em 0.4em;width: 30%;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').' - '.Tools::displayError('Customized').(!empty($customization_text) ? ' - '.$customization_text : '').'</strong></td>
      <td style="padding: 0.6em 0.4em; width: 20%;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ?  Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>
      <td style="padding: 0.6em 0.4em; width: 15%;">'.$customization_quantity.'</td>
      <td style="padding: 0.6em 0.4em; width: 20%;">'.Tools::displayPrice($customization_quantity * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt), $this->context->currency, false).'</td>
   </tr>';
}

if (!$customization_quantity || (int)$product['cart_quantity'] > $customization_quantity)
   $products_list .=
   '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
      <td style="padding: 0.6em 0.4em;width: 15%;">'.$product['reference'].'</td>
      <td style="padding: 0.6em 0.4em;width: 30%;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').'</strong></td>
      <td style="padding: 0.6em 0.4em; width: 20%;">'.Tools::displayPrice(Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt, $this->context->currency, false).'</td>
      <td style="padding: 0.6em 0.4em; width: 15%;">'.((int)$product['cart_quantity'] - $customization_quantity).'</td>
      <td style="padding: 0.6em 0.4em; width: 20%;">'.Tools::displayPrice(((int)$product['cart_quantity'] - $customization_quantity) * (Product::getTaxCalculationMethod() == PS_TAX_EXC ? Tools::ps_round($price, 2) : $price_wt), $this->context->currency, false).'</td>
   </tr>';


Samozřejmě klidně také můžete ponechat původní zdrojových kód bez změn a vytvořit si vlastní výpis na míru. Takže v emailech pak použijete např. {items_txt} nebo {products_txt}. To záleží jen na Vás.

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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Výpis produktů v textových e-mailech
PříspěvekNapsal: 27 čer 2013 11:06 

Registrován:
12 říj 2011 19:09
Příspěvky:
175
Dobrý den,
děkuji za radu, zkouším to, ale nějak nevím jak upravit - změnit soubor modules/mailalerts/mailalerts.php a classes/PaymentModule.php

části kódů jsem našla, ale nevím čím je nahradit, jak se zbavím ještě toho html formátování ?

Po testu se mi v mailu objevují produkty takto :

<tr style="background-color:#DDE2E6;">
<td style="padding:0.6em 0.4em;">VIB-7350022271074</td>
<td style="padding:0.6em 0.4em;">
<strong>LELO Liv zelený - doprava ZDARMA do 24 hodin + DÁREK zdarma! zelený</strong>
</td>
<td style="padding:0.6em 0.4em; text-align:right;">1 289 Kč</td>
<td style="padding:0.6em 0.4em; text-align:center;">1</td>
<td style="padding:0.6em 0.4em; text-align:right;">1 289 Kč</td>
</tr>


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Výpis produktů v textových e-mailech
PříspěvekNapsal: 27 čer 2013 11:31 
C4 podpora
C4 podpora

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

to jsou právě ty části kódu, které si musíte v souborech upravit podle sebe. Například tento řádek v mailu:
Kód:
<tr style="background-color:#DDE2E6;">

je tento řádek ve zdrojovém kódu:
Kód:
<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';">

Pokud si na úpravu zdrojového kódu netroufáte, můžete se obrátit na některého z našich partnerů.

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


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-2021 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz