Фото товара в письме

Тема в разделе "OpenCart", создана пользователем kindly, 22 авг 2016.

  1. kindly

    kindly

    Регистрация:
    19 ноя 2012
    Сообщения:
    49
    Симпатии:
    1
    Здравствуйте, есть мысли как добавить фото товара в письмо заказа администратору? На версии 2031?
    Плагина не нашел :(
     
  2. ajs

    ajs

    Регистрация:
    21 мар 2014
    Сообщения:
    15
    Симпатии:
    10
    ВОТ накидал по скорому... Не знаю ка как тут файл привинтить к письму. Поэтому просто создай файл например image_to_email.ocmod.xml и в него код внутрь запили ->


    HTML:
    <?xml version="1.0" encoding="utf-8"?>
    <modification>
    <name>image_to_email</name>
    <code>image_to_email</code>
    <version>2.0.3.1</version>
    <date>22.08.2016</date>
    <author>ArkaDos [email protected]</author>
    
    <!-- begin -->
    
    <file path="catalog/model/checkout/order.php">
        <operation>
            <search><![CDATA[ $order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); ]]></search>
            <add position="after"><![CDATA[
    
                $product_image  = '';         //переменная куда положим фотку
                $p_images         = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_image WHERE product_id = '" . (int)$product['order_product_id'] . "'");
                $product_images = $p_images->rows; //массив для картинок товара
    
                if(is_array($product_images)){
    
                    //сортируем массив и берем первую фотку
                    $product_images_sort = array();
                    foreach ($product_images as $p_image) {
                        if(!isset($product_images_sort[ $p_image['sort_order'] ])){
                            $product_images_sort[ $p_image['sort_order'] ] =  HTTP_SERVER . $p_image['image'];
                        }
                    }
    
                    $product_image = array_shift($product_images_sort);
                }
    
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[ $data['products'][] = array( ]]></search>
            <add position="after"><![CDATA[
    
                'image'    => $product['$product_image'],
    
            ]]></add>
        </operation>
    
    </file>
    
    <file path="catalog/view/theme/*/template/mail/order.tpl">
    
        <operation>
            <search><![CDATA[ <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"><?php echo $product['name']; ?> ]]></search>
            <add position="after"><![CDATA[
                <?php if(isset($product['image']) && !empty($product['image'])) ?>
                    <td style="    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;">
                        <img src="<?= $product['image'] ?>" width="70" />
                    </td>
                <?php } ?>
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[ <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"></td> ]]></search>
            <add position="after"><![CDATA[
                <?php if(isset($product['image']) && !empty($product['image'])) ?>
                    <td style="font-size: 12px;    border-right: 1px solid #DDDDDD; border-bottom: 1px solid #DDDDDD; text-align: left; padding: 7px;"></td>
                <?php } ?>
            ]]></add>
        </operation>
    
    </file>
    
    <!-- end -->
    
    </modification>
    
    Только проверь все пути в теге file! я его не испытывал!! только написал.
    Должно работать, но никаких гарантий без испытаний :Smile:
     
    Lasted edited by : 24 авг 2016
    kindly нравится это.
  3. kindly

    kindly

    Регистрация:
    19 ноя 2012
    Сообщения:
    49
    Симпатии:
    1
    У меня не заработало, и в ручную попробовал добавить тоже ошибка *(
     
  4. ajs

    ajs

    Регистрация:
    21 мар 2014
    Сообщения:
    15
    Симпатии:
    10
    дык ошибку покажи. в каком файле? в модели или в шаблоне? может я где-то опечатался... а пути к файлам проверил? что там? белый экран или ошибка? просто у меня нет времени разворачивать тестовый у себя
     
  5. ajs

    ajs

    Регистрация:
    21 мар 2014
    Сообщения:
    15
    Симпатии:
    10
    • Не используйте красный цвет в сообщениях!
    ВОТ СТОПРОЦЕНТНО РАБОЧИЙ КОД . я проверил.
    только в шаблоне выводится ссылка на фотку.
    дальше сам лабай.

    верстай как хош..


    Код:
    <?xml version="1.0" encoding="utf-8"?>
    <modification>
    <name>image_to_email</name>
    <code>image_to_email</code>
    <version>2.0.3.2</version>
    <date>23.08.2016</date>
    <author>ArkaDos [email protected]</author>
    
    <!-- begin -->
    
    <file path="catalog/model/checkout/order.php">
        <operation>
            <search><![CDATA[ $order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); ]]></search>
            <add position="after"><![CDATA[
                $p_image = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product['product_id'] . "'");
                $product_image = !empty($p_image->row['image']) ? HTTP_SERVER . 'image/' . $p_image->row['image'] : ''; // картинка товара
    
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[ $data['products'][] = array( ]]></search>
            <add position="after"><![CDATA[
                'image'    => $product_image,
            ]]></add>
        </operation>
    
    </file>
    
    <file path="catalog/view/theme/*/template/mail/order.tpl">
    
        <operation>
            <search><![CDATA[ <?php foreach ($product['option'] as $option) { ?> ]]></search>
            <add position="before"><![CDATA[
                <?php if( isset($product['image']) && !empty($product['image']) ){ ?>
    
                        <?php echo $product['image']; ?>
    
                <?php } ?>
            ]]></add>
        </operation>
    
    
    
    </file>
    
    <!-- end -->
    
    </modification>
    
     
    Lasted edited by : 24 авг 2016
    kindly и samuel_L нравится это.