OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#5462
Καλησπέρα.
Θέλω να αλλάξω το 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
Καλησπέρα,

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
Καλησπέρα,

Αντιμετωπίζω και εγώ το ίδιο πρόβλημα. Θέλω να αλλάξω το 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();
}

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

Vqmod and SEARCH NOT FOUND

Καλησπέρα, έχω ένα xml που βγάζει αυτό το λάθος […]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!