Я пытаюсь сделать изображения заказанных продуктов появляться в почте подтверждения заказа клиента посланной после проверки. Содержимое этого письма находится в файле order.tpl и содержит такие вещи, как $ product ['name'] для имени продукта, $ product ['model'] для модели продукта. Я не знаю, какая переменная/массив хранит образ продукта или как это реализовать.продукт Opencart изображение в подтверждении заказа электронная почта
ответ
Да. Вы должны изменить функцию model/checkout/order/addOrderHistory()
. Обратите внимание, что товары любого заказа выбираются из таблицы order_product
. И он не содержит поля изображения. Для этого вам необходимо создать функциональность, которая извлекает изображение продукта из таблицы product
, а затем обрабатывать это изображение для дальнейшего использования.
Например, создайте любую функцию в файле catalog/model/order
. как ...
public function getProductImage($product_id){
$query = $this->db->query("SELECT `image` FROM `".DB_PREFIX."product` WHERE product_id = '".(int)$product_id."'");
if ($query->row) {
return $query->row['image'];
} else {
return false;
}
}
Вызов этого метода в foreach ($order_product_query->rows as $product) {
цикле как
$product_image = $this->getProductImage($product['product_id'])
.
Затем в том же цикле изменить размер изображения, проверяя
$this->load->model('tool/image');
if ($product_image) {
$product_image = $this->model_tool_resize($product_image, width, height);
}
И в вашем массиве продукт просто добавить это,
$data['products'][] = array(
'image' => $product_image,
.....
);
И в вашем .tpl
проверки файла
if ($product['image']){
your design to display image
}
Это оно.
Я думал, что это должно сработать, я внес некоторые изменения на страницу order.php, вот ссылка pastebin: http://pastebin.com/gMDqpvsw, но я получаю внутреннюю ошибку сервера на странице проверки, возможно, я не сделал сделайте изменения в правильных местах, помогите изучить его, спасибо, редактирует из строки 538. – bodesam
Электронная почта отправляется с model/checkout/order.php/addOrderHistory()
. Вам нужно будет добавить свое изображение в цикл продукта. Затем в файле .tpl
вам нужно будет вставить новый столбец и отобразить изображение продукта внутри него.
Спасибо, мы почти там. Является ли переменная образа продукта уже доступной, как она называется? – bodesam
Вам нужно будет посмотреть, доступно ли это или нет. Если нет, вы можете сделать это вручную. –
переменная, которую вы ищете, является изображением используйте его, как показано ниже.
<?php echo $product['image']; ?>
вы можете найти бесплатные расширения на сайте opencart.
Электронная почта отправляется с 'model/checkout/order.php/addOrderHistory()'. Вам придется немного изменить его. –
Вам необходимо создать модификацию кода в вышеупомянутых выше упомянутых файлах. Также вам нужно будет добавить изображение из базы данных, потому что оно не включено в версию по умолчанию. Так да. Вам нужно немного изменить его ... – Klaus