Перейти к содержанию
  • В связи с блокировкой банка QIWI оплата через сайт не возможна.
    Для оплаты и получения дополнений просьба писать в личные сообщения
    Admin*у
    После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Как добавить логотип магазина и изображения товаров в счета в OpenCart 2.x


Рекомендуемые сообщения

В этом сообщении блога мы покажем вам, как добавить логотип вашего магазина и изображения продуктов в ваши счета, изменив шаблон счета OpenCart 2.x по умолчанию.

К сожалению, в OpenCart нет встроенного редактора для редактирования шаблона счета в админке, и нам приходится менять его, модифицируя сам код.

Примечание: эта модификация работает только с OpenCart 2.x, и мы предполагаем, что вы уже установили ее.

Модификация OCMod

Поскольку изменение файлов ядра не рекомендуется из-за сбоев в работе других модулей, мы будем использовать модификацию OCMod для редактирования шаблона для счетов.

Этот метод не изменяет основные функции OpenCart, поэтому мы собираемся использовать его.

Первое, что вы должны сделать, это создать новый файл XML и назвать его yourcustommodificationname.ocmod.xml .

Пожалуйста, убедитесь, что ваш файл имеет расширение .ocmod.xml , иначе он не будет распознан встроенным установщиком расширений в OpenCart 2.x.

Добавить логотип в шапку

Если мы хотим включить логотип в заголовок счета-фактуры, нам нужно добавить эти строки в файл:

<modification>
    <name>Add images to invoice by iSenseLabs</name>
    <version>1.0 (Initial)</version>   
    <link>https://isenselabs.com</link>
    <code>isense_invoice</code>
    <author>iSenseLabs</author>
 
    <file path="admin/controller/sale/order.php">
        <operation>
            <search><![CDATA[public function invoice() {]]></search>
            <add position="after"><![CDATA[
                // ISENSELABS.COM CODE STARTS HERE
                $this->load->model('tool/image');
                // ISENSELABS.COM CODE ENDS HERE
            ]]></add>
        </operation>
 
        <operation>
            <search index="0"><![CDATA[$this->response->setOutput($this->load->view('sale/order_invoice]]></search>
            <add position="before"><![CDATA[
                // ISENSELABS.COM CODE STARTS HERE
         
                if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
                    $server = $this->config->get('config_ssl');
                } else {
                    $server = $this->config->get('config_url');
                }
                 
                if ($this->config->get('config_logo') && file_exists(DIR_IMAGE . $this->config->get('config_logo'))) {
                    $data['logo'] = $server . 'image/' . $this->config->get('config_logo');
                } else {
                    $data['logo'] = '';
                }
                 
                // ISENSELABS.COM CODE ENDS HERE
            ]]></add>
        </operation>
    </file>
 
    <file path="admin/view/template/sale/order_invoice.tpl">
        <operation>
            <search><![CDATA[<div style="page-break-after: always;">]]></search>
            <add position="after"><![CDATA[
                <!-- ISENSELABS.COM CODE STARTS HERE -->
 
                <?php if(isset($logo) && !empty($logo)) { ?>
                    <img src="../<?php echo $logo ?>" style="margin: 15px 0 15px 0;" />
                <?php } ?>
 
                <!-- ISENSELABS.COM CODE ENDS HERE -->
            ]]></add>
        </operation>
    </file>
</modification>

Затем мы должны перейти на вашу страницу администрирования магазина OpenCart> Расширения> Установщик расширений и загрузить файл. После того, как мы получим сообщение «Успешно: вы установили расширение!», нам нужно перейти в «Расширения»> «Модификации» и нажать кнопку «Обновить», чтобы применить изменения.

Счета-фактуры должны выглядеть так:

11.png

Добавьте изображения товаров

Если мы хотим также добавить изображения продуктов в наши счета-фактуры, мы должны добавить этот код в наш текущий файл модификации или мы можем создать новый:

<file path="admin/controller/sale/order.php">
    <operation>
        <search><![CDATA[public function invoice() {]]></search>
        <add position="after"><![CDATA[
            // ISENSELABS.COM CODE STARTS HERE
 
            $this->load->model('catalog/product');
 
            // ISENSELABS.COM CODE ENDS HERE
        ]]></add>
    </operation>
 
    <operation>
        <search index="0"><![CDATA[$product_data[] = array(]]></search>
        <add position="before"><![CDATA[
            // ISENSELABS.COM CODE STARTS HERE
                $width = 100;
                $height = 100;
                $product_info = $this->model_catalog_product->getProduct($product['product_id']);
                if (version_compare(VERSION, '2.3', '>=')) {
                    $this->load->model('tool/image');
                }
                if ($product_info['image']) {
                    $image = $this->model_tool_image->resize($product_info['image'], $width, $height);
                } else {
                    $image = $this->model_tool_image->resize('placeholder.png', $width, $height);
                }  
            // ISENSELABS.COM CODE ENDS HERE
        ]]></add>
    </operation>
 
    <operation>
        <search index="0"><![CDATA[$product_data[] = array(]]></search>
        <add position="after"><![CDATA[
            'image'    => $image, // ISENSELABS.COM
        ]]></add>
    </operation>
</file>
 
<file path="admin/view/template/sale/order_invoice.tpl">
    <operation>
        <search><![CDATA[<?php echo $product['name']; ?>]]></search>
        <add position="replace"><![CDATA[
            <!-- ISENSELABS.COM CODE STARTS HERE -->
 
            <?php if(isset($product['image']) && !empty($product['image'])) { ?>
                <img src="<?php echo $product['image'] ?>" />
            <?php } ?>
 
            <!-- ISENSELABS.COM CODE ENDS HERE -->
            <?php echo $product['name']; ?>
        ]]></add>
    </operation>
</file>

После этого нам нужно загрузить файл модификации в наш магазин OpenCart и окончательный результат будет таким:

12.png

Изменить размер изображения продукта

Здесь мы покажем вам, как настроить код в файле OCMod. Эта модификация не большая, но можно внести небольшие изменения.

Если вам нужны изображения товаров меньшего или большего размера, вы можете изменить эти две строки:

$width = 100;
$height = 100;

После внесения изменений необходимо сохранить файл .ocmod.xml. Перед загрузкой модификации вам необходимо удалить старую из «Расширения» > «Модификации», отметить модификацию «Добавить изображения в счет от iSenseLabs» и нажать красную кнопку «Удалить». Вам также необходимо очистить и обновить модификации. После этого вы сможете загрузить новый файл .ocmod.xml, используя встроенный установщик расширений в OpenCart 2.x.

invoice.ocmod.xml

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...