Právě je 20 dub 2024 03:07

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop - Mail Alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 13 zář 2012 11:53 

Registrován:
13 črc 2011 19:11
Příspěvky:
10
Zdravím,

už nějakou dobu se snažím do Oznámení e-mailem (mail alerts), info o nové objednávce, doplnit parametr Adresa pro odpověď (reply to).
Jde mi o to, že když mi jako správci e-shopu přijde info o nové objednávce, potřeboval bych dát jednoduše Odpovědět a psát rovnou na e-mail zákazníkovi, který objednávku vytvořil, v současné době při volbě Odpovědět odpovídám svému e-shopu, respektive mé odesílací e-mailovce.
Zkoušel jsem to metodou pokus omyl dát nějak dohromady (nejsem programátor), ale stále nic, při zásahu do mailalerts.php mi pak e-shop po odeslání objednávky vyhodí chybu (např. Chyba: parametr "templateVars" je poškozen).
Prosím o pomoc či radu, díky všem!

Ještě přikládám upravený kód...
Kód:
// Filling-in vars for email
      $template = 'new_order';
      $subject = $this->l('OBJEDNÁVKA Č:', (int)$id_lang).' '.sprintf('%06d', $order->id);
    $replyto = $this->l($customer->email);
      $templateVars = array(
         '{firstname}' => $customer->firstname,
         '{lastname}' => $customer->lastname,
         '{email}' => $customer->email,
         '{delivery_block_txt}' => $this->_getFormatedAddress($delivery, "\n"),
         '{invoice_block_txt}' => $this->_getFormatedAddress($invoice, "\n"),
         '{delivery_block_html}' => $this->_getFormatedAddress($delivery, "<br />",
                  array(
                     'firstname'   => '<span style="color:#DB3484; font-weight:bold;">%s</span>',
                     'lastname'   => '<span style="color:#DB3484; font-weight:bold;">%s</span>')),
         '{invoice_block_html}' => $this->_getFormatedAddress($invoice, "<br />",
                  array(
                     'firstname'   => '<span style="color:#DB3484; font-weight:bold;">%s</span>',
                     'lastname'   => '<span style="color:#DB3484; font-weight:bold;">%s</span>')),
         '{delivery_company}' => $delivery->company,
         '{delivery_firstname}' => $delivery->firstname,
         '{delivery_lastname}' => $delivery->lastname,
         '{delivery_address1}' => $delivery->address1,
         '{delivery_address2}' => $delivery->address2,
         '{delivery_city}' => $delivery->city,
         '{delivery_postal_code}' => $delivery->postcode,
         '{delivery_country}' => $delivery->country,
         '{delivery_state}' => $delivery->id_state ? $delivery_state->name : '',
         '{delivery_phone}' => $delivery->phone,
         '{delivery_other}' => $delivery->other,
         '{invoice_company}' => $invoice->company,
         '{invoice_firstname}' => $invoice->firstname,
         '{invoice_lastname}' => $invoice->lastname,
         '{invoice_address2}' => $invoice->address2,
         '{invoice_address1}' => $invoice->address1,
         '{invoice_city}' => $invoice->city,
         '{invoice_postal_code}' => $invoice->postcode,
         '{invoice_country}' => $invoice->country,
         '{invoice_state}' => $invoice->id_state ? $invoice_state->name : '',
         '{invoice_phone}' => $invoice->phone,
         '{invoice_other}' => $invoice->other,
         '{order_name}' => sprintf("%06d", $order->id),
         '{shop_name}' => Configuration::get('PS_SHOP_NAME'),
         '{date}' => $order_date_text,
         '{carrier}' => (($carrier->name == '0') ? Configuration::get('PS_SHOP_NAME') : $carrier->name),
         '{payment}' => Tools::substr($order->payment, 0, 32),
         '{items}' => $itemsTable,
         '{total_paid}' => Tools::displayPrice($order->total_paid, $currency),
         '{total_products}' => Tools::displayPrice($order->getTotalProductsWithTaxes(), $currency),
         '{total_discounts}' => Tools::displayPrice($order->total_discounts, $currency),
         '{total_shipping}' => Tools::displayPrice($order->total_shipping, $currency),
         '{total_wrapping}' => Tools::displayPrice($order->total_wrapping, $currency),
         '{currency}' => $currency->sign,
         '{message}' => $message
      );
      $iso = Language::getIsoById((int)($id_lang));
      if (file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.txt') AND file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.html'))
         Mail::Send((int)$id_lang, $template, $subject, $replyto, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), NULL, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], NULL, NULL, dirname(__FILE__).'/mails/');


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - mail alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 14 zář 2012 14:34 

Registrován:
13 črc 2011 19:11
Příspěvky:
10
Nikdo nic? :(


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - mail alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 22 zář 2012 19:16 
C4 podpora
C4 podpora

Registrován:
01 lis 2011 15:02
Příspěvky:
746
Dobrý den.

Snažíte se metodě Mail::Send vnutit navíc parametr ReplyTo, tím ale měníte předpokládané pořadí parametrů a metoda pak nemůže fungovat správně (přesněji nefunguje vůbec).
Bohužel tato metoda s parametrem ReplyTo vůbec nepočítá a bylo by nutno v ní provést zásadní úpravy, což by ale vynutilo další úpravy v mnoha místech systému. Bude tedy nutno jednoduše nastavit mail tak, aby vypadal, jako by ho odesílal zákazník.

V souboru /modules/mailalerts/mailalerts.php najděte řádek
Kód:
Mail::Send((int)$id_lang, $template, $subject, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), null, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], null, null, dirname(__FILE__).'/mails/');
(ve verzi 1.4.9 je to řádek 224) a nahraďte jej
Kód:
Mail::Send((int)$id_lang, $template, $subject, $templateVars, explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails), null, $customer->email,  $customer->firstname.' '.$customer->lastname, null, null, dirname(__FILE__).'/mails/');

Tato úprava se týká VÝHRADNĚ mailu, upozorňujícího obchodníka na novou objednávku. Žádné další maily nejsou ovlivněny.

_________________
Adam Chyský
Webhosting C4
http://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Mail Alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 24 zář 2012 01:16 

Registrován:
13 črc 2011 19:11
Příspěvky:
10
Funguje!

Mockrát děkuji!


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Mail Alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 09 říj 2012 08:13 

Registrován:
30 zář 2012 20:13
Příspěvky:
3
Dobrý den, je možné poradit, kde to lze upravit i v 1.5? ať koukám, jak koukám nikde to nevidím v tom souboru :( Díky moc


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Mail Alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 09 říj 2012 08:18 

Registrován:
30 zář 2012 20:13
Příspěvky:
3
tak nalezeno, řádek 389. Je tam blok, týkající se odeslání potvrzení objednávky. Další dva bloky se již týkají skladu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop - Mail Alerts - přidání Adresy pro odpověď
PříspěvekNapsal: 31 říj 2012 12:31 

Registrován:
25 říj 2012 09:32
Příspěvky:
17
ja som to opravil v 1.5.2 na riadku 396 a 397


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ů: 7 ] 

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 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:  
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