Γενική Υποστήριξη
#5462 από moutas
25 Οκτ 2018, 16:08
Καλησπέρα.
Θέλω να αλλάξω το template των e-mails που λαμβάνει ο διαχειριστής του e-shop γιατί είναι πολύ ξερό text αλλά και του πελάτη. Θέλω να πηγαίνει ένα παρόμοιο e-mail στον Administrator με αυτό που λαμβάνει ο πελάτης μόλις ολοκληρώσει την παραγγελία του. Επίσης θέλω να αλλάξω το template των e-mails που λαμβάνει ο πελάτης μόλις γίνει αλλαγή στην κατάσταση της παραγγελίας του. Δηλαδή μόλις αλλάξει η κατάσταση της παραγγελίας από Processing σε Complete, και επιλέξει ο Admin να κάνει "Notify" τον πελάτη, λαμβάνει ο πελάτης ένα "ξερό" απλό text που αναφέρει: τον "Αρ. Παραγγελίας", "Ημερ. Προσθήκης Παραγγελίας", ένα κείμενο που λέει ότι "η κατάσταση της παραγγελίας άλλαξε σε:" και τέλος αναφέρει την νέα κατάσταση της παραγγελίας π.χ "Ολοκληρωμένη". Υπάρχει δυνατότητα να αλλάξουν αυτά τα e-mails και φυσικά χωρίς extension;;;
Έχει κανείς καμία λύση;;
Opencart: Version 3.0.2.0
Journal theme: Version 2.16.2
#5465 από Opencart-Hellas
30 Οκτ 2018, 0:16
Καλησπέρα,

1. Για να λαμβάνει ο διαχειριστής το ίδιο email με του πελάτη ρίξε μία ματιά εδώ.

2. Για να διαμορφώσεις την εμφάνιση του email στις αλλαγές ιστορικού παραγγελιών πρώτα θα πρέπει ορίσεις να αποστέλλονται με HTML αντί για plain text.

Στο αρχείο catalog/controller/mail/order.php την γραμμή:
Κώδικας: Επιλογή όλων$mail->setText($this->load->view('mail/order_edit', $data));


Κάνε την:
Κώδικας: Επιλογή όλων$mail->setHtml($this->load->view('mail/order_edit', $data));

Μετά θα χρειαστεί να διαμορφώσεις το twig template "catalog/view/theme/default/template/mail/order_edit.twig" που χρησιμοποιείται για αλλαγές ιστορικού ώστε να διαβάζεται ως HTML. Για να πάρεις μία ιδέα τι διαμόρφωση χρειάζεται να κάνεις ρίξε μία ματιά στο "order_add.twig" που δηλώνεται ήδη ως HTML.

Για οδηγίες σχετικά με τη λειτουργικότητα του twig templating engine ρίξε μία ματιά εδώ.

* Μην ξεχάσεις να κάνεις ανανέωση στο cache του OpenCart.

** Θα σου πρότεινα να κάνεις τις όποιες αλλαγές στα templates και να ελέγξεις ότι λειτουργεί οκ, πριν εφαρμόσεις το πιο πάνω ocmod.
#5537 από tmarinop
18 Δεκ 2018, 2:34
Καλησπέρα,

Αντιμετωπίζω και εγώ το ίδιο πρόβλημα. Θέλω να αλλάξω το template των emails που στέλνονται για να ενημερώσουν τον πελάτη για την αλλαγή της κατάστασης παραγγελίας (να προσθέσω το logo και να βάλω το όνομα του πελάτη). Η δική μου έκδοση είναι 2.1.0.2 αλλά δε βρήκα αυτά που ανεφέρετε παραπάνω (twig αρχείο).
Πιο συγκεκριμένα βρήκα αυτό το κομμάτι κώδικα στο catalog/model/checkout/order.php που καταλαβαίνω ότι απευθύνεται σε αυτό που θέλω αλλά δε ξέρω πως να προσθέσω το logo και το όνομα του πελάτη. Κανείς με παραπάνω εμπειρία σε κώδικα για να βοηθήσει;

// If order status is not 0 then send update text email
if ($order_info['order_status_id'] && $order_status_id && $notify) {
$language = new Language($order_info['language_directory']);
$language->load($order_info['language_directory']);
$language->load('mail/order');

$subject = sprintf($language->get('text_update_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id);

$message = $language->get('text_update_order') . ' ' . $order_id . "\n";
$message .= $language->get('text_update_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "\n\n";

$order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'");

if ($order_status_query->num_rows) {
$message .= $language->get('text_update_order_status') . "\n\n";
$message .= $order_status_query->row['name'] . "\n\n";
}

if ($order_info['customer_id']) {
$message .= $language->get('text_update_link') . "\n";
$message .= $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_id . "\n\n";
}

if ($comment) {
$message .= $language->get('text_update_comment') . "\n\n";
$message .= strip_tags($comment) . "\n\n";
}

$message .= $language->get('text_update_footer');

$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
$mail->smtp_username = $this->config->get('config_mail_smtp_username');
$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
$mail->smtp_port = $this->config->get('config_mail_smtp_port');
$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

$mail->setTo($order_info['email']);
$mail->setFrom($this->config->get('config_email'));
$mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'));
$mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
$mail->setText($message);
$mail->send();
}

ΣΥΝΔΕΔΕΜΕΝΑ ΜΕΛΗ

Μέλη σε αυτό το φόρουμ: Δεν υπάρχουν εγγεγραμμένα μέλη και 23 επισκέπτες