К основному контенту

Добавления "лейбы" бесплатная сборка для ShopOS

Сегодня пришлось подумать, как сделать вывод изображения возле товара в виде бесплатной сборки. При этом задача стояла вывести только на те товары которые отмечаются в админке. Самое интересное что это нужно было сделать на движке ShopOS. Я немного подумал и решил как можно сделать эту возможность без максимального вмешательства в файлы. Правда некоторые нужно поправить. Результат меня порадовал и я решил поделится своей заметкой. Если кому то поможет, то буду только рад.

Первый этап: Выводим изображения в карточку товара.  Для выбора отображения данного изображения в админке, при редактировании товара,  я выбрал (заходим в редактирования товара) вкладку "Цена" и в самом низу поле "Показывать единицу упаковки". Отмечаем галочку и сохраняем товар. Для редактирования файла переходим в папку (через фтп) modules -> product_info.php (У вас по умолчанию может быть не один файл, нужно определить какой именно Вам нужен).
Находим строку

if ($product->data['products_vpe_status'] == 1 && $product->data['products_vpe_value'] != 0.0 && $products_price['plain'] > 0)

и перед ней вставляем следующий код:

if ($product->data['products_vpe_status'] == 1){
   $info->assign('PRODUCTS_SBORKA', '<img src="images/sborka.jpg">');}

Сохраним изменения и переходим в файл который отображает информацию 
на страницу.
для этого переходим
themes->'Ваша тема'->module->product_info->product_info_v1.html
Внимание, у Вас может быть название файла другое
(это как шаблонный файл).
В том месте где нужно вывести изображения вставляете следующий код:

{if $PRODUCTS_SBORKA}
<div class="sborka">
   <img src="images/sborka.png">
</div>
{/if}

Название картинки можете сменить на свое, у меня картинка находится прямо в корне сайта, в папке images.

Сохраните и проверьте, если не отобразилось, то стоит проверить подтягивается ли картинка (верный ли путь) или почистить кеша.

Второй этап: Теперь делаем отображения для категории
Находим файл includes->classes->product.php
Ищем строку: 
'PRODUCTS_VPE' => @$this->getVPEtext($array, $products_price['plain']),

После нее пишем строку:
'PRODUCTS_VPE_STATUS' => @$array['products_vpe_status'],

Находим файл modules->product_listing.php
В нем находим и комментируем строку:
//$module_content[] =  apply_filter('products_listing', $product->buildDataArray($_products_value) );
и после нее вставляем следующую строку:
$module_content[] =  $product->buildDataArray($_products_value);

Если у Вас только строка которую нужно вставлять, то ничего не трогаем, оставляем как есть.

Находим файл themes->"Ваша тема"->module->product_listing_1_columns_two.html

и вставляем в следующий кусок кода для отображения изображения в нужное место

{if ($module_data.PRODUCTS_VPE_STATUS) == 1}
<div class="sborka-item">
   <img src="images/sborka.png">
</div>
{/if}


Стили уже сами подправите, что бы все красиво было. Если есть вопросы, можете написать на terellife@gmail.com 

Комментарии

Популярные сообщения из этого блога

Убрать обязательные поля при редактировании заказа в админке Opencart

Снова пишу для себя заметку, что бы не забыть где искать. Задача: Убрать обязательные поля  при редактировании заказа в админке Opencart. Что бы убрать в контроллере проверку на обязательные поля нужно перейти в catalog/controller/api/customer и найти нужный кусок кода проверки и закомментировать, например нам нужно убрать проверку Фамилии. Это у нас Last Name. Находим код if ((utf8_strlen(trim($this->request->post['lastname'])) < 1) || (utf8_strlen(trim($this->request->post['lastname'])) > 32)) { $json['error']['lastname'] = $this->language->get('error_lastname'); } и комментируем. После чего нужно сохранить и возможно обновить модификацию (если вы ставили какую то модификацию). Что бы убрать красную звездочку, то нужно зайти admin/view/template/sale/order_form.tpl и удалить класс " required " в том месте где не нужно указывать обязательность поля. Что касается 3 вкладки "Оплата"...

Создание истории поиска. часть 2 (админка)

Продолжения статьи  Создание истории поиска. часть 1 (сайт)                       Первым делом сделаем сразу ссылку для захода на страницу нашей истории поиска в админке. Для этого нужно в файле  admin / controller / common / menu   создать ссылку на контроллер.  Находим строчку  «$data['home'] = $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL');»  и после нее добавляем  «$data['search_history'] = $this->url->link('extension/search_history', 'token=' .  $this->session->data['token'], 'SSL');». В данном случае мы объявляем переменную для тпловського файла для ссылки. Еще в этом файле нам нужно объявить языковую переменную, например, возьмем код «$data['text_search_history'] = $this->language->get('text_search_history');» и вставим после кода «$this->load->language('common/menu');». ...

Запросы SQL

Здесь я буду записывать запросы. которые мне были нужно в процессе работы на проектами. 1. Убрать пробелы в определенной ячейке -   UPDATE   `table`   SET   `field` =   REPLACE ( `field` , ' ' , '' )   WHERE   `field1`   =   'содержимое'