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

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


Recommended Posts

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

Screenshot_1.png

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


  В 18.08.2019 в 17:52, Tom сказав:

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

 

Expand  

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

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


  В 18.08.2019 в 19:24, martovytskyi87 сказав:

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

 

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

Expand  

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

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


  В 18.08.2019 в 19:36, chukcha сказав:

И что?

Expand  

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

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


  В 18.08.2019 в 20:17, buslikdrev сказав:

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

Expand  

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

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


  В 18.08.2019 в 22:07, buslikdrev сказав:

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

  Показати вміст
Expand  

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

Screenshot_6.png

Screenshot_7.png

Screenshot_8.png

Screenshot_9.png

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


  В 18.08.2019 в 23:57, ausilky сказав:

 

Expand  

копируете модуль 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
Надіслати
Поділитися на інших сайтах


  В 18.08.2019 в 19:18, martovytskyi87 сказав:

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

Expand  

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

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

  В 19.08.2019 в 04:39, Tom сказав:

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

Expand  
<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 Вашего модификатора. Я не вижу код, который  содержит ту самую одну строчку) 
 

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


  В 19.08.2019 в 04:48, AWARO сказав:

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

Expand  

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

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


  В 19.08.2019 в 04:56, 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 Вашего модификатора. Я не вижу код, который  содержит ту самую одну строчку) 
 

Expand  

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

 

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

 

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

  В 19.08.2019 в 05:26, Tom сказав:

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

 

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

 

Expand  

Спасибо! Виноват, только учусь. 

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


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

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

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

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

 

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

  В 19.08.2019 в 05:57, Tom сказав:

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

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

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

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

 

Expand  

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

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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