Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как создать 2 модуля Рекомендуемых товаров?


Recommended Posts

Opencart 3. Как правильно создать еще один модуль Рекомендуемых товаров?
Прошу подсказать порядок действий. Могу конечно постучаться из модели в определенную категорию и это всё вывести, но нужно оставить администратору право настройки. Скопировать модуль и постучаться из контроллера? Цель - вывести на главную рекомендуемые товары из одной категории и где то в другом месте из другой категории. 
 

Screenshot_1.png

Змінено користувачем martovytskyi87
Надіслати
Поділитися на інших сайтах


1 час назад, Tom сказал:

Странно.... А так на примере двойки?

 

Спасибо, но этот модуль позволяет перетаскивать рекомендуемые товары. Вывести 2 модуля на странице не даст, перезапишет существующий featured. 
 

Надіслати
Поділитися на інших сайтах


Только что, martovytskyi87 сказал:

Перезаписывает существующий featured

 

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

Хаотично вывело скрины, но если вкратце, то перезаписывает после сохранения

Надіслати
Поділитися на інших сайтах


16 минут назад, chukcha сказал:

И что?

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

Змінено користувачем martovytskyi87
Надіслати
Поділитися на інших сайтах


14 минут назад, buslikdrev сказал:

Если удалить модификатор дополняющий данный модуль, то нормально работает?

Нет. Это стандартное поведение модуля. Дополняющих модификаторов нет. Проверил еще раз на дефолтной сборке.

Надіслати
Поділитися на інших сайтах


15 минут назад, buslikdrev сказал:

К автору модуля обращайтесь, ибо стандартный вот:

  Показать контент

image.thumb.png.5908e10b4dac221a6e35872f665e105e.pngimage.thumb.png.e77d85d69f426030180ee5bca88601cb.png

Я же пишу, что проверил на пустом дефолтном шаблоне. При добавлении второй позиции идет сброс и переназначается первая строка

Screenshot_6.png

Screenshot_7.png

Screenshot_8.png

Screenshot_9.png

Надіслати
Поділитися на інших сайтах


4 часа назад, ausilky сказал:

 

копируете модуль featured и переименовуете:
admin/controller/extension/module/featured.рhp
admin/language/ru-ru/extension/module/featured.php
admin/language/en-gb/extension/module/featured.php
admin/view/template/extension/module/featured.twig
теперь из модели
catalog/controller/extension/module/featured.php
catalog/language/ru-ru/extension/module/featured.php
catalog/language/en-gb/extension/module/featured.php
catalog/view/theme/default/template/extension/module/featured.twig

В контроллерах переименовуете class  

ControllerExtensionModuleFeatured  ну и пути. 

Затем обновляете кеш и модуль должен появится
  • +1 1
Надіслати
Поділитися на інших сайтах


9 часов назад, martovytskyi87 сказал:

Спасибо, но этот модуль позволяет перетаскивать рекомендуемые товары. Вывести 2 модуля на странице не даст, перезапишет существующий featured. 
 

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

Надіслати
Поділитися на інших сайтах

13 минут назад, Tom сказал:

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

<file path="admin/view/template/extension/module/featured.tpl">
    <operation>
      <search><![CDATA[
        <?php echo $footer; ?>
      ]]></search>
      <add position="before"><![CDATA[
        <style type="text/css">
        .ui-sortable-handle {cursor: pointer;}
        .ui-sortable-handle:hover:after {font-family: FontAwesome;content: "\f07d";margin-left: 3px;font-size: 11px;}
        .ui-sortable-handle .fa-minus-circle {color:#f56b6b;}
        </style>
        <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
        <script type="text/javascript">
        $(function() {
          $('#featured-product').sortable();
        });
        </script>
      ]]></add>
    </operation>
    <operation>
      <search><![CDATA[
        <label class="col-sm-2 control-label" for="input-product"><?php echo $entry_product; ?></label>
        ]]></search>
      <add position="replace"><![CDATA[
       <label class="col-sm-2 control-label" for="input-product"><span data-toggle="tooltip" title="<?php echo $entry_click; ?>"></span><?php echo $entry_product; ?></label>
      ]]></add>
    </operation>    
  </file> 
    <file path="admin/controller/extension/module/featured.php">
    <operation>
      <search><![CDATA[
        $data['entry_status'] = $this->language->get('entry_status');
      ]]></search>
      <add position="after"><![CDATA[
         $data['entry_click'] = $this->language->get('entry_click');
      ]]></add>
    </operation>
  </file> 
  <file path="admin/language/ru-ru/module/featured.php">
    <operation>
      <search><![CDATA[
        // Text
      ]]></search>
      <add position="after"><![CDATA[
        $_['entry_click']      = 'Для изменения сортировки,зажмите мышью и перетащите товар.';
      ]]></add>
    </operation>
  </file>
<!--Catalog_part-->  
  <file path="catalog/controller/extension/module/featured.php">
    <operation>
      <search><![CDATA[
        $data['heading_title'] = $this->language->get('heading_title');
      ]]></search>
      <add position="replace"><![CDATA[
         $data['heading_title'] = $setting['name'];
      ]]></add>
    </operation>
  </file> 
</modification>

Вот xml Вашего модификатора. Я не вижу код, который  содержит ту самую одну строчку) 
 

Надіслати
Поділитися на інших сайтах


9 минут назад, AWARO сказал:

людям нравятся изобретать велосипеды

не спорю, но именно велосипеды и помогают разобраться как что работает и откуда что берется)

Надіслати
Поділитися на інших сайтах


27 минут назад, martovytskyi87 сказал:

<file path="admin/view/template/extension/module/featured.tpl">
    <operation>
      <search><![CDATA[
        <?php echo $footer; ?>
      ]]></search>
      <add position="before"><![CDATA[
        <style type="text/css">
        .ui-sortable-handle {cursor: pointer;}
        .ui-sortable-handle:hover:after {font-family: FontAwesome;content: "\f07d";margin-left: 3px;font-size: 11px;}
        .ui-sortable-handle .fa-minus-circle {color:#f56b6b;}
        </style>
        <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
        <script type="text/javascript">
        $(function() {
          $('#featured-product').sortable();
        });
        </script>
      ]]></add>
    </operation>
    <operation>
      <search><![CDATA[
        <label class="col-sm-2 control-label" for="input-product"><?php echo $entry_product; ?></label>
        ]]></search>
      <add position="replace"><![CDATA[
       <label class="col-sm-2 control-label" for="input-product"><span data-toggle="tooltip" title="<?php echo $entry_click; ?>"></span><?php echo $entry_product; ?></label>
      ]]></add>
    </operation>    
  </file> 
    <file path="admin/controller/extension/module/featured.php">
    <operation>
      <search><![CDATA[
        $data['entry_status'] = $this->language->get('entry_status');
      ]]></search>
      <add position="after"><![CDATA[
         $data['entry_click'] = $this->language->get('entry_click');
      ]]></add>
    </operation>
  </file> 
  <file path="admin/language/ru-ru/module/featured.php">
    <operation>
      <search><![CDATA[
        // Text
      ]]></search>
      <add position="after"><![CDATA[
        $_['entry_click']      = 'Для изменения сортировки,зажмите мышью и перетащите товар.';
      ]]></add>
    </operation>
  </file>
<!--Catalog_part-->  
  <file path="catalog/controller/extension/module/featured.php">
    <operation>
      <search><![CDATA[
        $data['heading_title'] = $this->language->get('heading_title');
      ]]></search>
      <add position="replace"><![CDATA[
         $data['heading_title'] = $setting['name'];
      ]]></add>
    </operation>
  </file> 
</modification>

Вот xml Вашего модификатора. Я не вижу код, который  содержит ту самую одну строчку) 
 

Это печально..... Потому как она в самом конце файла.

 

$data['heading_title'] = $setting['name'];

 

Надіслати
Поділитися на інших сайтах

То есть вместо танцев с бубном и клонированием, достаточно после 

$this->load->model('tool/image');

в контроллере модуля (catalog\controller\extension\module\featured.php), добавить эту строку

$data['heading_title'] = $setting['name'];

 

Надіслати
Поділитися на інших сайтах

2 минуты назад, Tom сказал:

То есть вместо танцев с бубном и клонированием, достаточно после 


$this->load->model('tool/image');

в контроллере модуля (catalog\controller\extension\module\featured.php), добавить эту строку


$data['heading_title'] = $setting['name'];

 

Я уже понял ошибку. Не увидел. Спасибо

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.