Sto sviluppando un modulo per PrestaShop 1.5.Localizzazione email PrestaShop
io mando email come questo (la documentazione è in realtà manca, ho studiato altri componenti di default e questo è quello che ho ottenuto finora)
Mail::Send(
$this->context->language->id, //int $id_lang
'template_name',//string $template
//Mail::l('Hello', $this->context->language->id),//string $subject
$this->l('Email subject'),//string $subject
array('{discount}' => $code,
'{firstname}' => $customer['firstname'],
'{lastname}' => $customer['lastname'],
'{img_url}' => $img_url,
'{valid_days}' => $form['days_valid']
),//string $template_vars
$customer['email'],//string $to
implode(' ', array_filter(array($customer['firstname'], $customer['lastname']))),
strval(Configuration::get('PS_SHOP_EMAIL')),//string $from
strval(Configuration::get('PS_SHOP_NAME')),//string $from_name
/* null,//string $from
null//string $from_name */
null,//array $file_attachment
null,//$mode_smtp
$template_path//string $template_path /*__PS_BASE_URI__.'modules/'.$this->name.'/mails/' */
);
Nota Ho provato ad utilizzare
Mail::l('Hello', $this->context->language->id),//string $subject
e
$this->l('Email subject'),//string $subject
come oggetto dell'email.
E continuo a ricevere "Nessun oggetto trovato per ...". Ciò che il cliente riceve è la stringa hardcoded che ho inserito nel codice sorgente.
Così come per sbarazzarsi di questo errore: Inoltre le email vengono inviate in un linguaggio apparentemente casuale (a volte inglese, a volte italiana).
ma ho bisogno di farlo automaticamente dopo l'installazione del componente e in modo che non venga eliminato se l'utente modifica l'etichetta – max4ever
automaticamente se si utilizza 'Mail :: l ('Oggetto di posta elettronica', $ this- > context-> language-> id) 'nel parametro subject di Mail :: Send. – SJousse
sto estendendo il modulo e stai parlando di controller, qualcosa non va bene – max4ever