Jump to content
Sign in to follow this  
martovytskyi87

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

Recommended Posts

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

Screenshot_1.png

Edited by martovytskyi87

Share this post


Link to post
Share on other sites

можете "склонировать" этот

Share this post


Link to post
Share on other sites
4 минуты назад, spectre сказал:

можете "склонировать" этот

Клонирую, переименовую, в контроллере меняю класс, и в индексе линк. Так?

Share this post


Link to post
Share on other sites

примерно так

там на 10 мин делов

Share this post


Link to post
Share on other sites
Только что, spectre сказал:

примерно так

там на 10 мин делов

Спасибо. Репутацию не получается плюсануть)

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

А зачем клонировать?
Проще по примеру Тома добавить два поля

Share this post


Link to post
Share on other sites
1 час назад, Tom сказал:

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

 

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

Share this post


Link to post
Share on other sites
34 минуты назад, chukcha сказал:

А зачем клонировать?
Проще по примеру Тома добавить два поля

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

 

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

Share this post


Link to post
Share on other sites
Только что, martovytskyi87 сказал:

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

 

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

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

Share this post


Link to post
Share on other sites
11 минут назад, martovytskyi87 сказал:

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

И что?

Share this post


Link to post
Share on other sites
16 минут назад, chukcha сказал:

И что?

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

Edited by martovytskyi87

Share this post


Link to post
Share on other sites
14 минут назад, buslikdrev сказал:

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

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

Share this post


Link to post
Share on other sites
15 минут назад, buslikdrev сказал:

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

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

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

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

Screenshot_6.png

Screenshot_7.png

Screenshot_8.png

Screenshot_9.png

Share this post


Link to post
Share on other sites
1 час назад, martovytskyi87 сказал:

Решил проблему клонированием модуля. Теперь все ок. 

Та же проблема, а как клонировали, можете намекнуть?

 

Share this post


Link to post
Share on other sites
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  ну и пути. 

Затем обновляете кеш и модуль должен появится

Share this post


Link to post
Share on other sites
9 часов назад, martovytskyi87 сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


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

Share this post


Link to post
Share on other sites
9 минут назад, AWARO сказал:

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

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

Share this post


Link to post
Share on other sites
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'];

 

Share this post


Link to post
Share on other sites
7 минут назад, Tom сказал:

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

Share this post


Link to post
Share on other sites
2 минуты назад, Tom сказал:

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By legioner26
      555.00 руб
      Скачать/Купить дополнение


      Сортировка товаров в заказе по категориям с учетом остатков
      Разработан модификатор с сортировкой товаров в заказе по категориям в админ панели, в пользовательской части, в письме заказчику и письме администратора магазина.
      Данный функционал в разы упрощает работу менеджеров в подборе номенклатуры для выставления счетов.
      Так же в админке в заказах добавлена колонка производителя, фото товара и учет остатков по складу с возможностью сохранять выбор.
      Установка:
      Устанавливаете модификатор через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
       
      Добавил legioner26 Добавлено 27.12.2017 Категория Покупки, оформление заказа, корзина Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Нет Старая цена 900  
    • By legioner26
      Разработан модификатор с сортировкой товаров в заказе по категориям в админ панели, в пользовательской части, в письме заказчику и письме администратора магазина.
      Данный функционал в разы упрощает работу менеджеров в подборе номенклатуры для выставления счетов.
      Так же в админке в заказах добавлена колонка производителя, фото товара и учет остатков по складу с возможностью сохранять выбор.
      Установка:
      Устанавливаете модификатор через "Установка расширений", далее в модификаторах чистим кешь и обновляем.
       
    • By comrues
      Если подскажите, буду признателен)))
      Вот критерии:
      При выборе характеристики, появляется кнопка "Посмотреть".
      Фильтр цены не слайдером а обычными input-ами (опять же как у dns).
       
    • By comrues
      Всем доброго времени суток!
      В контроллере пытаюсь вывести один цикл внутри другого (2 дня ломаю голову)
      Мне нужно что-то типа этого.
      категория 1
            имя товара1
            имя товара2
            имя товара3
      категория2
            имя товара1
            имя товара2
            имя товара3
       
      Не могу с помощью контроллера получить нужный мне массив. Подскажите пожалуйста!!!
      Вот код:
      $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { $data['products'] = array(); $filter = array( 'filter_category_id' => $category['category_id'], 'limit' => 3 ); $products = $this->model_catalog_product->getProducts($filter); if (!empty($products)) { foreach ($products as $product) { $data['products'][] = array( 'name' => $product['name'], 'product_id' => $product['product_id'], ); } } $data['categories'][] = array( 'products' => $data['products'], 'category_id' => $category['category_id'], 'name' => $category['name'], 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); }  
    • By SlimJim
      Нужно внести ряд доработок на сайт https://test.primeteh.ru/. До этого правок никаких не вносилось.
       
      Список необходимых доработок:
      1. Сделать, чтобы при наличии в заказе товара с нулевой ценой ограничение по минимальной сумме заказа не срабатывало
      2. При сортировке товаров по цене переместить товары с нулевой ценой в конец списка (сейчас отображаются в начале)
      3. Отображать "Цену уточняйте" вместо "0 ₽" у товаров с нулевой ценой в следующих местах:
      - в выпадающем меню поиска (http://joxi.ru/8AnR5E3cyqO3OA)
      - в выпадающем меню корзины (http://joxi.net/V2VPRbGik0jblr)
      - на странице оформления заказа (http://joxi.net/zANPpzQijlMQnm)
      - в окне быстрого заказа (http://joxi.net/Dr8JWRoUMk7NX2)
      - в e-mail, отправленному покупателю
      4. Сделать автопрокрутку рекомендуемых товаров. Должна работать на всех страницах. Прокручиваться должно на количесво товаров, которое помещается в одной выдаче (например здесь http://joxi.ru/KAg67gETKgkzW2 это будет 4 товара, логика такая же как если нажимать кружки в верхнем правом углу, а здесь http://joxi.ru/p27N6agTN0pOGm - 2 товара). Период прокрутки - 5 секунд.
      5. Сделать автопрокрутку карусели с логотипами производителей (http://joxi.ru/p27N6agTN0j3Gm). Логика та же. Период прокрутки - 3 секунды.
      6. Стикеры наличия. Сейчас на изображении товара отображается стикер только если количество товара равно нулю (http://joxi.ru/5mdPNgGi8vwqnm). Сделать, чтобы при количестве товара больше нуля отображался стикер "В наличии", причем цвет фона стикера должен быть #dff0d8, а цвет текста - #3c763d
      7. Сделать отличающиеся цвета и иконки индикатора наличия на каточке товара (http://joxi.ru/MAjL7ERUkvbGbm) для разных статусов, отсутствующих на складе. Сейчас при любом статусе поле красное и иконка - крест. Такое отображение должно быть только когда у товара статус "Нет в наличии". При любых других статусах цвет поля сделать #ffd966, цвет текста и логотипа #833c0c. При статусе "Наличие уточняйте" иконку сделать в форме знака вопроса (fa-question). При любых статусах кроме "Нет в наличии" и "Наличие уточняйте" иконка должна быть в форме часов (fa-clock-o)
      8. На странице оформления заказа расширить поля для ввода данных покупателя и адреса доставки (http://joxi.ru/Y2LPpz8iEnbPv2)
      9. На странице оформления заказа сделать, чтобы поле ввода комментария нельзя было растянуть вправо (сейчас можно растянуть так, что оно оказывается под списком товаров)
      10. На страницах производителей отображать описание вверху страницы и отображать изображение производителя (независимо от настроек шаблона на странице Основные настройки - Каталог товаров - Общие настройки)
      11. На страницах производителей после описания выводить список категорий (младших), в которых есть товары данного производителя
      12. На странице карточки товара в форме отправки вопроса о товаре добавить поле для ввода "E-mail" (необязательное). В админке соответственно показывать введённый пользователем e-mail
      13. На странице успешного оформления заказа выводить номер заказа:
      "Ваш заказ был успешно сформирован! Номер заказа ХХХХ.
      14. Иконку сброса фильтра товаров (http://joxi.ru/823lndgH86o9wA) заменить на текст "Сбросить" (стиль такой же как у ссылок в хлебных крошках).
       
      Условия:
      - При обновлении кэша дополнений все доработки должны оставаться.
      - По окончании работ неоходимо предоставить список файлов, в которых производились изменения.
       
      Моя почта: [email protected]
      Юрий
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.