Jump to content
toporchillo

[Поддержка] YML экспорт в Яндекс.Маркет, Yandex.Turbo, Prom.ua, Aliexpress.com... для OpenCart 2.x, 3.x

Recommended Posts

YML экспорт в Яндекс.Маркет, Yandex.Turbo, Prom.ua, Aliexpress.com... для OpenCart 2.x, 3.x


YML экспорт в Яндекс.Маркет, Yandex.Turbo, Prom.ua, Aliexpress.com... для OpenCart 2.x, 3.x


Перед Вами версия этого популярного модуля, но для дляOpenCart 2.x и 3.x

Модуль формирует YML-файл для экспорта каталога товаров на такие площадки как Яндекс.Маркет, Яндекс.Turbo, price.ru, poisk-podbor.ru, hotprice.ua, nadavi.net, vcene.ua, prom.ua, satu.kz, beru.ru, aliexpress.com и многие другие

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

Демо на OcStore 2.3 (логин: demo пароль: demo)

Важно:
Генерация YML-файла через PHP-CLI не гарантируется, но почти всегда работает. Команда:

<полный путь к php>/php <полный путь к корню сайта>/export/yandex_yml.php

Если не работает, но нужно формировать через планировщик (CRON), используйте wget:

wget -P <полный путь к корню сайта>/export/yandex_yml.xml http://<адрес сайта>/index.php?route=feed/yandex_yml 

Как быть, если вдруг что-то не работает: Читать FAQ - Частые вопросы

Не надо сразу создавать задачу в CRONе, не надо сразу отдавать ссылку на YML Яндексу

1. Откройте ссылку на YML в браузере, щелкните правой кнопкой мышкой, выберете "исходный код".

2. Вы увидите то, что сформировал скрипт. Возможно там будут сообщения об ошибках PHP. Текст ошибки прекрасно ищется в Гугле или в теме поддержки.

3. Если вы не можете самостоятельно разобраться с ошибкой, то пришлите ссылку на экспорт. Сообщения без ссылки будут игнорироваться!

4. Мне не достаточно прислать только результат работы Яндекс-валидатора.

Если вы считаете, что в модуле ошибка - пишите автору в личные сообщения. Письма без указания ссылки на YML и ошибки типа "белый экран" или "ничего не работает" будут игнорироваться.

 


  • Добавил
  • Добавлено
    17.03.2017
  • Категория
  • Системные требования
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • OpenCart
    3.0
    2.3
    2.2
    2.1
    2.0
  • ocStore
    3.0
    2.3
    2.2
    2.1
  • OpenCart.Pro, ocShop
    Opencart.pro 2.3
    Opencart.pro 2.1
    OcShop 2.0.3.х
  • Обращение к серверу разработчика
    Нет
  • Старая цена
    0

 

  • +1 1

Share this post


Link to post
Share on other sites

Проставляю галку " Выгружать тэг local_delivery_cost вместо delivery-options " но после сохранения захожу опять в модуль и он не проставлена, в файле нет стоимости доставки товара

Можете подсказать что не так?

версия модуля Экспорт в Яндекс.YML 1.8.5 для OpenCart 2.3.x

Edited by Sergeyy84

Share this post


Link to post
Share on other sites

С большим количеством товара работает? Более 10 000 позиций. Бесплатные аналоги грузят все товары в массив. Поэтому 128М памяти не хватает. Интересует наличие блочного вывода.

Share this post


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

С большим количеством товара работает? Более 10 000 позиций.

 

работает. по крону настраивается.

Последний раз настраивал для товаров 35 000 шт. Нормально на VPS, две...три минуты и готов файл.

Но настройки нужно делать на сервере.

 

Если у вас VPS/VDS, то проблем не должно быть. На виртуальном хостинге не знаю, да и смысл непонятен хоститься на виртуальном (общем) хостинге при действительно большом количестве товаров.

 

Share this post


Link to post
Share on other sites

как в настройках "что экспортировать" - "категории" сделать отображение по алфавиту?

Share this post


Link to post
Share on other sites

А экспорт товаров xml не предусмотрен?

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

Добрый день.

 

Первый раз столкнулся с задачей выгрузки.

Заходил на ваш демо смотрел настройки. Но так и не понял как получить сам файл. И где он находится.

И работает ли на ocStore 2.1.0.1

 

Спасибо.

Share this post


Link to post
Share on other sites
В 03.04.2017 в 11:58, nikolay181282 сказал:

Добрый день.

 

Первый раз столкнулся с задачей выгрузки.

Заходил на ваш демо смотрел настройки. Но так и не понял как получить сам файл. И где он находится.

И работает ли на ocStore 2.1.0.1

 

Спасибо.

 

Тоже интересует но уже на ocStore 2.3.х.х

Автор, вы уж напишите в характеристиках, подробнее.

Share this post


Link to post
Share on other sites
В 19.03.2017 в 19:02, Marinka сказал:

на unishop v2.1 будет работать?

а причем тут шаблон? :)

Share this post


Link to post
Share on other sites

toporchillo

На ocStore 2.3.х.х  будет работать?

Share this post


Link to post
Share on other sites

Тоже интересует этот вопрос, будет ли работать на OCStore 2.3?

Зайдя в Демо вообще не нашел никакого упоминания об выгрузке, все делается на хостинге?

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

Почему товарам без фото не выводит ссылку на картинку заглушку?

Share this post


Link to post
Share on other sites

Добрый день!

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

Как вы решили синхронизацию с facebook? Можно ли как то настроить этот модуль для этого?

Share this post


Link to post
Share on other sites

не получется настроить крон для экспорта на хостинге рег-ру((

Share this post


Link to post
Share on other sites

Может кто то подскажет как связаться с разработчиком модуля? @toporchillo

Share this post


Link to post
Share on other sites

Модуль поддерживается разработчиком?

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

Edited by DiNoZavr

Share this post


Link to post
Share on other sites

Поддержка есть в разумных пределах. Вот тут https://prnt.sc/fblziv видно, что мы уже вторую страницу личной переписки исписали. Надо и меру знать. И все-таки читать хотя бы описание модуля, после слов "если что-то не работает"

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.


  • Similar Content

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


      SimplePars - Универсальный парсер для ИМ
      Модуль SimplePars предназначен для парсинга и наполнения интернет магазина. 
       
      Идея модуля заключается в том что бы вы могли заварить чашечку кофе и наблюдать как ваш магазин наполняется товарами.
      Ведь намного приятнее наблюдать за строкой загрузки товара, чем заполнять каждую позицию вручную

       
      Возможности модуля SimplePars
      Основные задачи которые решает модуль это парсинг данных с сайта и последующее заполнение интернет магазина.
      Вы можете как парсить напрямую в интернет магазин, так и парсить в CSV файл для дальнейшей обработки. 
      Так же реализовано обновления товаров при помощи парсинга сайтов доноров. 
       
      В двух словах не описать что умеет делать модуль, по этому обозначу только основные моменты.

      - Полноценный парсер позволяющий парсить товары со сторонних магазинов и загружать себе.
      - Встроенный гибкий сборщик ссылок , который поможет собрать ссылки на необходимые товары.
      - Возможен парсинг и загрузка всех элементов товара.
      Код товара [model] Артикул [sku] Название Цена Количество Производитель Описание Категории Изображения Атрибуты Опций Данные - товара. Более подробно можете увидеть на скриншотах модуля.
       
      - Кроме загрузки возможно настройка обновления существующих товаров, цен, остатков и многое другое.
      - Идентификация товара по артикулу, модели или имени товара.
      - Доступна установка наценок любой сложности.
      - Парсинг / Составление SEO шаблонов и заполнение Мета данных товара, категорий, производителей. Заполнение SEO_URL
      - Формировать прайс csv с данными что вы парсите. Так же прайсы можно составлять в готовом формате для загрузки через АОП или любого другого загрузчика прайс листов. 
      - Поиск замена, мощный инструмент позволяющий вам налету изменять информацию. То есть, при парсинге вы можете вырезать или заменять определенные слова или целые блоки текста. Удалять или заменять в тексте названия сайта донора на ваш. И многое другое.
      - Поиск замена полностью поддерживает регулярные выражения.
      - Модуль способен парсить в многопоточном режиме. Что делает парсинг максимально быстрым!
      - Поддерживается парсинг с авторизацией.
      - Поддержка работы с прокси.
      - Собственный прокси чекер, позволяющий отобрать прокси сервера котороые будут работать с конкретным донором.
      - Возможна индивидуальная настройка запросов, Указание Cookies, User-Agent, Отправка собственных заголовков Headers
      - Система логирования позволяющая контролировать процесс парсинга на любом этапе.
      - Система кэширования сайта донора для безопасного парсинга подробнее Описание системы кеширования
      - NEW Автоматический парсинг по расписанию, при помощи CRON
      - NEW Встроенный редактор товаров. Редактор товаров поможет сделать финальную правку товаров. Инструкция к редактору товаров
      - NEW Встроенный редактор ссылок, позволяющий группировать ссылки по спискам, и производить загрузку определенных групп ссылок. Так же отслуживать ссылки которые парсятся с ошибками.
      - NEW Парсер XML/YML документов от поставщика. .
       
      Вы можете указать любое количество границ парсинга, на любые данные что есть в html коде сайта донора.
      SimplePars это универсальный инструмент который поможет вам наполнить ваш интернет магазин.
      Обратите внимание что вы можете настроить парсинг на любые данные, и необязательно они должны быть совместимы с opencart. Вы можете парсить статьи, отзывы, блоги.
       
      В данном модуле есть возможность парсить все данные в CSV файл
      Можно формировать прайс листы для загрузки их через популярные загрузчики прайс листов.
       
      И это малая часть тех задач которые может выполнить данный модуль.
      SimplePars разрабатывается как универсальный парсер, у него нету четких задач, у него есть только набор инструментов.
      А что вы построите имея эти инструменты, уже зависит только от вас.
       
      Инструкция к модулю доступна по ссылке
      Инструкция к модулю SimplePars
       
      Видео-уроки по работе с модулем доступны по ссылке
      Видео уроки по работе с модулем SimplePars
       
      Демо сайт для ознакомления с интерфейсом и возможностями модуля
      Обратите внимание что на демо сайте парсинг недоступен.
      http://demo.simplepars.top/admin/
      Логин - demo
      Пароль - demo
       
      Лицензионное соглашение.
      Ознакомится
       
      Инструкция по установке.
      Установка SimplePars
      1. Зайдите в директорию вашей версии модуля и скопируйте все в корень сайта с заменой.
      2. Введите в строке браузера ваш_сайт/inst.php и нажмите Enter.
      3. Далее перейдите в раздел Система->Пользователи->Группы пользователей->Администратор нажмите выделить все в двух разделах:
      Разрешить просмотр Разрешить редактировать Затем нажмите сохранить.
      4. Зайдите в "Модификаторы" или "Менеджер дополнений", и нажмите Обновить. 
      5. После этого удалите в корне сайта файл inst.php
      Все, модуль установлен.
      В разделе Каталог под пунктом Производители появится пункт SimplePars это вход в модуль. 
       
      Инструкция по обновлению
      1. Загрузить содержимое директории c названием вашей версии  в корень сайта.
      2. Выполнить ваш_сайт/inst.php
      3. Удалить с корня сайта файл inst.php
       
      После установки или обновления я вижу белый экран или ошибку 500
      Если видите белый экран, то вам необходимо перейти в архив с модулем в директорию Other versions of PHP и там будут лежать файлы под все версии php.
      Открываете папку с именем вашей версии php и загружаете содержимое в корень магазина.
      Добавил Rassol2 Добавлено 28.10.2018 Категория Парсеры Системные требования PHP >= 5.6 Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х Обращение к серверу разработчика Да Старая цена 0  
    • By Rassol2
      Модуль SimplePars предназначен для парсинга и наполнения интернет магазина. 
       
      Идея модуля заключается в том что бы вы могли заварить чашечку кофе и наблюдать как ваш магазин наполняется товарами.
      Ведь намного приятнее наблюдать за строкой загрузки товара, чем заполнять каждую позицию вручную

       
      Возможности модуля SimplePars
      Основные задачи которые решает модуль это парсинг данных с сайта и последующее заполнение интернет магазина.
      Вы можете как парсить напрямую в интернет магазин, так и парсить в CSV файл для дальнейшей обработки. 
      Так же реализовано обновления товаров при помощи парсинга сайтов доноров. 
       
      В двух словах не описать что умеет делать модуль, по этому обозначу только основные моменты.

      - Полноценный парсер позволяющий парсить товары со сторонних магазинов и загружать себе.
      - Встроенный гибкий сборщик ссылок , который поможет собрать ссылки на необходимые товары.
      - Возможен парсинг и загрузка всех элементов товара.
      Код товара [model] Артикул [sku] Название Цена Количество Производитель Описание Категории Изображения Атрибуты Опций Данные - товара. Более подробно можете увидеть на скриншотах модуля.
       
      - Кроме загрузки возможно настройка обновления существующих товаров, цен, остатков и многое другое.
      - Идентификация товара по артикулу, модели или имени товара.
      - Доступна установка наценок любой сложности.
      - Парсинг / Составление SEO шаблонов и заполнение Мета данных товара, категорий, производителей. Заполнение SEO_URL
      - Формировать прайс csv с данными что вы парсите. Так же прайсы можно составлять в готовом формате для загрузки через АОП или любого другого загрузчика прайс листов. 
      - Поиск замена, мощный инструмент позволяющий вам налету изменять информацию. То есть, при парсинге вы можете вырезать или заменять определенные слова или целые блоки текста. Удалять или заменять в тексте названия сайта донора на ваш. И многое другое.
      - Поиск замена полностью поддерживает регулярные выражения.
      - Модуль способен парсить в многопоточном режиме. Что делает парсинг максимально быстрым!
      - Поддерживается парсинг с авторизацией.
      - Поддержка работы с прокси.
      - Собственный прокси чекер, позволяющий отобрать прокси сервера котороые будут работать с конкретным донором.
      - Возможна индивидуальная настройка запросов, Указание Cookies, User-Agent, Отправка собственных заголовков Headers
      - Система логирования позволяющая контролировать процесс парсинга на любом этапе.
      - Система кэширования сайта донора для безопасного парсинга подробнее Описание системы кеширования
      - NEW Автоматический парсинг по расписанию, при помощи CRON
      - NEW Встроенный редактор товаров. Редактор товаров поможет сделать финальную правку товаров. Инструкция к редактору товаров
      - NEW Встроенный редактор ссылок, позволяющий группировать ссылки по спискам, и производить загрузку определенных групп ссылок. Так же отслуживать ссылки которые парсятся с ошибками.
      - NEW Парсер XML/YML документов от поставщика. .
       
      Вы можете указать любое количество границ парсинга, на любые данные что есть в html коде сайта донора.
      SimplePars это универсальный инструмент который поможет вам наполнить ваш интернет магазин.
      Обратите внимание что вы можете настроить парсинг на любые данные, и необязательно они должны быть совместимы с opencart. Вы можете парсить статьи, отзывы, блоги.
       
      В данном модуле есть возможность парсить все данные в CSV файл
      Можно формировать прайс листы для загрузки их через популярные загрузчики прайс листов.
       
      И это малая часть тех задач которые может выполнить данный модуль.
      SimplePars разрабатывается как универсальный парсер, у него нету четких задач, у него есть только набор инструментов.
      А что вы построите имея эти инструменты, уже зависит только от вас.
       
      Инструкция к модулю доступна по ссылке
      Инструкция к модулю SimplePars
       
      Видео-уроки по работе с модулем доступны по ссылке
      Видео уроки по работе с модулем SimplePars
       
      Демо сайт для ознакомления с интерфейсом и возможностями модуля
      Обратите внимание что на демо сайте парсинг недоступен.
      http://demo.simplepars.top/admin/
      Логин - demo
      Пароль - demo
       
      Лицензионное соглашение.
      Ознакомится
       
      Инструкция по установке.
      Установка SimplePars
      1. Зайдите в директорию вашей версии модуля и скопируйте все в корень сайта с заменой.
      2. Введите в строке браузера ваш_сайт/inst.php и нажмите Enter.
      3. Далее перейдите в раздел Система->Пользователи->Группы пользователей->Администратор нажмите выделить все в двух разделах:
      Разрешить просмотр Разрешить редактировать Затем нажмите сохранить.
      4. Зайдите в "Модификаторы" или "Менеджер дополнений", и нажмите Обновить. 
      5. После этого удалите в корне сайта файл inst.php
      Все, модуль установлен.
      В разделе Каталог под пунктом Производители появится пункт SimplePars это вход в модуль. 
       
      Инструкция по обновлению
      1. Загрузить содержимое директории c названием вашей версии  в корень сайта.
      2. Выполнить ваш_сайт/inst.php
      3. Удалить с корня сайта файл inst.php
       
      После установки или обновления я вижу белый экран или ошибку 500
      Если видите белый экран, то вам необходимо перейти в архив с модулем в директорию Other versions of PHP и там будут лежать файлы под все версии php.
      Открываете папку с именем вашей версии php и загружаете содержимое в корень магазина.
    • By mitandaster
      Добрый день
      ОС3
      подскажите пож-та. Давно давно у меня уже есть раздел Весы:
      и он есть в яндексе: site:https://lixcompany.ru/vesi/
      а вот подразделов почему-то нет:
      site:https://lixcompany.ru/vesi/vesy-torgovye-so-stojko
      По вашему запросу ничего не нашлось
      site:https://lixcompany.ru/vesi/vesy-s-pechat
      По вашему запросу ничего не нашлось
      всего 8 разделов
      ну и товаров из этих разделов тоже нет в яндексе в поиске.
      и даже те, кто в разделе Весы тоже нет:
      site:https://lixcompany.ru/vesi/m-er-326
      По вашему запросу ничего не нашлось
      непонятно.
      Переобход ни к чему не привел

      Подскажите как решить
      спасибо
    • By NastjaGorelova
      600.00 руб
      Скачать/Купить дополнение


      Быстрый Яндекс-поиск по каталогу для большого числа товаров opencart 2.x-3
      Создайте быстрый поиск с морфологией и релевантностью для вашего сайта по каталогу товаров или услуг. В ответах поиска будут карточки с названием и описанием товара, его изображение, цена, основные характеристики, категория и наличие. Также доступна сортировка по цене категориям и товарам в наличии, исправление ошибок, опечаток, неправильной раскладки и распознавание способа написания слов. 
      Модуль позволяет использоваться алгоритмы яндекса (исправление ошибок, опечаток, неправильной раскладки и распознавание способа написания слов) для поиска по сайту, но только среди товаров и категорий с большой скоростью, использую API Яндекса.
      Описание работы модуля
      Поиск для интернет-магазинов, использует выдачу в формате JSON и внешне будет выглядеть так, как поиск OpenCart/ocSore 2.х вашего шаблона. Подойдет для любого шаблона.
      Demo shop https://demo.dixi-st.com/index.php?route=product/search&search=fqajy
      Demo admin https://demo.dixi-st.com/admin/index.php?route=module/ya_search
      https://demo.dixi-st.com/admin/index.php?route=module/live_search
      Логин: demo
      Пароль: demo
      Подготовка к установке:
      1. Внимание! Для работы модуля необходим установленный модуль для формирования выгрузки в xml. Если такого модуля нет, можно использовать этот бесплатный
      https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22403 для вашей версии opencart. Устанавливаем  и настраиваем согласно инструкции. Важно, чтобы валюта была указана в рублях.
      Перед установкой модуля Яндекс-поиск, необходимо создать Яндекс поиск для интернет-магазинов и получить api ключ.
      Переходим по ссылке https://site.yandex.ru/catalogs/new/
      Указываем в поле «Страница с результатами поиска» 
      http://Ваш_сайт/index.php?route=product/search
      В поле Адрес YML-файла http://Ваш_сайт/index.php?route=feed/yandex_market
      (смотрим путь в настройках модуля для выгрузки в yml )
      Добавляем адрес электронной почты, нажимаем сохранить
      Ждем надписи «Каталог проиндексирован». 
      Чтобы настраивать внешний вид результатов Поиска для интернет-магазинов, используем выдачу в формате JSON. Для подключения этого типа выдачи получаем API-Ключ  Идем в кабинет разработчика https://developer.tech.yandex.ru Жмем Получить ключ  - API Поиска для сайта. 
      Указываем полученный ключ тут https://site.yandex.ru/catalogs/2326185/json/
      Далее, устанавливаем модуль для замены стандартного поиска.
      При этом, выдача поиск будет выглядеть, как и стандартная для магазина, но по алгоритмам Яндекса и запрос будет идти через сервера Яндекса, а, значит, очень быстро и без нагрузки на сайт. Мы же хотим иметь на сайте продвинутый поиск с дизайном нашего сайта?
      Установка:
      1. Скопировать все с папки upload в корень магазина, загрузить фийл модификатора install.xml (Дополнения/Установка дополнений). Никакие файлы перезаписаны не будут. Или загрузите ya_search_api_for_ocxx.ocmod.zip в Дополнения/Установка дополнений
      2. Установить модуль Яндекс поиск/Yandex search на странице модулей.
      3. Обновить кеш модификаторов
      4. Настроить модуль Яндекс поиск. Активируем модуль  Яндекс поиск/Yandex search в списке модулей. Заходим в настройки и вносим api ключ, идектификатор поиска (взять из адресной строки).
      Совместимость:
      OpenCart/ocSore 2.х
       
      Добавил NastjaGorelova Добавлено 13.07.2018 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет Старая цена  
    • By amd1981
      Всех приветствую!
      Появилась необходимость скрытия меню от индексации Яндексом на всех страницах категорий, кроме главной страницы. Есть вариант, как это сделать на php (архив прикрепил). Не очень понятно как это реализовать на menu.twig или через контроллер menu.php (вроде как выводить java через menu.twig не очень то и правильно). Можете подсказать, как это реализовать?
       
      menu.twig
      {% if (not modern_header_var) %} <div class="row"> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 menu_adapt"> <div class="top-menu"> <div id="top-menu" > <div class="nobackground"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button> </div> <div class="collapse navbar-collapse navbar-ex1-collapse menu_adapt_coll"> <noindex><ul class="nav navbar-nav"> {% if (modern_ico_home != 1 and home != og_url) %} <li><a href="{{ base }}"><i class="fa fa-home fa_homemenu"></i></a></li> {% endif %} {% if (modern_ico_home_text != 1 and home != og_url) %} <li><a href="{{ base }}">{{ text_homel }}</i></a></li> {% endif %} {% if (modern_seevmenu_menu != 1) %} {% if (not modern_open_menu and home == og_url) %} <li class="dropdown hidev open"> {% else %} <li class="dropdown hidev"> {% endif %} <a class="with-child dropdown-toggle size" {% if (modern_link_menucatalog is not empty) %} href="{{ modern_link_menucatalog }}" {% endif %} data-hover="dropdown" data-delay="1" data-close-others="false"> {% if (modern_seevmenuico != 1) %} <i class="fa fa-bars"></i>&nbsp;&nbsp; {% endif %} {{ modern_vmenu_menu[language_id] }}<span class="fa fa-angle-down menu"></span></a> <ul class="dropdown-menu multi-level" role="menu"> {% for category in categories %} {% if (category['children']) %} <li class="dropdown-submenu li-drop close-button" > <a class="dr_menu" tabindex="-1" href="{{ category['href'] }}">{{ category['name'] }}<span class="arrowvertmenu"></span></a> <ul class="dropdown-menu2 column_width3"> {% if (category['image_main'] and modern_main_photos_menu != 1) %} <li class="col-lg-3 col-md-3 col-sm-4 li-main-foto"> <a href="{{ category['href'] }}"> <div class="main-foto-pos"><img class="main-foto-menu img-responsive" alt="{{ category['name'] }}" title="{{ category['name'] }}" src="{{ category['image_main'] }}"><span class="main-foto-back"></span></div> </a> </li> {% endif %} {% for child in category['children'] %} <li class="col-sm-4 mcol"> <span class = "hidden-xs">{% if (modern_photos_menu != 1 and (child['image2'] is not empty)) %}<a href="{{ child['href'] }}"><img class="vopmen img-responsive" src="{{ child['image2'] }}" alt="{{ child['name'] }}" title="{{ child['name'] }}" ></a>{% endif %}</span> <div class="clearfix"></div> <a class="submenu_main" href="{{ child['href'] }}">{{ child['name'] }}</a> {% if (modern_3lv_menu != 1) %} {% if (child['children_lv3'] is defined and child['children_lv3']) %} {% set v = 0 %} {% set break = false %} {% for child_lv3 in child['children_lv3'] if not break %} <a class = "menuv_3lv " href="{{ child_lv3['href'] }}">&nbsp;&nbsp;- {{ child_lv3['name'] }}</a> {% set v = v + 1 %} {% if (v >modern_countvmenulv - 1) %} <a class="menuv-allv" href="{{ child['href'] }}"><noindex>{{ modern_seeall_menu[language_id] }}</noindex></a> {% set break = true %} {% endif %} {% endfor %} {% endif %} {% endif %} </li> {% endfor %} </ul> </li> {% else %} <li class="v3hover li-drop close-button"><a class="dr_menu" href="{{ category['href'] }}">{{ category['name'] }}</a></li> {% endif %} {% endfor %} <li id="openclose"> <p class="dr_menu menu_slow">{{ text_modern_menu_open }}</p> </li> </ul> </li> {% endif %} </ul></noindex> <noindex><div class="menu_mob_plus"> <div class="hidem"> <ul class="nav navbar-nav"> {% for category in categories %} {% if (category['children']) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="{% if (category['category_id'] == category_id) %}{{ 'activetopmenu' }}{% endif %} dropdown static_pos"> <a class="with-child dropdown-toggle" href="{{ category['href'] }}" data-hover="dropdown" data-delay="1" data-close-others="false">{{ category['name'] }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu marg_top"> <div class="dropdown-inner children-category"> {% if (category['image_main'] and modern_main_photos_menu != 1) %} <ul class="col-lg-2 col-md-3 col-sm-3 li-main-foto"><li class="list_type"> <a href="{{ category['href'] }}"> <div class="main-foto-pos"><img class="image_main main-foto-menu img-responsive" alt="{{ category['name'] }}" title="{{ category['name'] }}" src="{{ category['image_main'] }}"><span class="main-foto-back"></span></div> </a> </li></ul> {% endif %} {% for child in category['children'] %} <ul class="list-unstyled {% if (category['image_main'] and modern_main_photos_menu != 1) %} col-lg-2 col-md-3 col-sm-3 clear_menu_cat_img {% else %} col-lg-2 col-md-3 col-sm-3 clear_menu_cat_noimg {% endif %}" > {% if (child['children_lv3'] is defined and child['children_lv3']) %} <li class="with-child" > <span class = "hidden-xs hidden-sm">{% if (modern_photos_menu != 1 and (child['image2'] is not empty)) %}<a href="{{ child['href'] }}"><img class="opacityhv img-responsive" src="{{ child['image2'] }}" alt="{{ child['name'] }}" title="{{ child['name'] }}" ></a>{% endif %}</span> <a href="{{ child['href'] }}"><span class="style2lv">{{ child['name'] }}</span></a> </li> {% if (modern_3lv_menu != 1) %} {% set m = 0 %} {% set break = false %} {% for child_lv3 in child['children_lv3'] if not break %} <li class="children_lv3"><a href="{{ child_lv3['href'] }}">&nbsp;&nbsp;- {{ child_lv3['name'] }}</a> {% set m = m + 1 %} {% if (m >modern_countvmenulv - 1) %} <a class="menuv-all" href="{{ child['href'] }}"><noindex>{{ modern_seeall_menu[language_id] }}</noindex></a> {% set break = true %} {% endif %} </li> {% endfor %} {% endif %} {% else %} <li>{% if (modern_photos_menu != 1 and (child['image2'] is not empty)) %}<span class = "hidden-xs hidden-sm"><a href="{{ child['href'] }}"><img class="opacityhv img-responsive" src="{{ child['image2'] }}" alt="{{ child['name'] }}" title="{{ child['name'] }}" ></a></span>{% endif %}<a href="{{ child['href'] }}"><span class="style2lv">{{ child['name'] }}</span></a></li> {% endif %} </ul> {% endfor %} </div> </div> <div class="clearfix"></div> </li> {% else %} <li class="{% if (category['category_id'] == category_id) %}{{ 'activetopmenu' }}{% endif %}"><a href="{{ category['href'] }}">{{ category['name'] }}</a></li> {% endif %} {% endfor %} </ul> </div> <ul class="nav navbar-nav"> <!--add menu link--> {% if (modern_top_links8 ) %} {% for modern_top_link8 in modern_top_links8 %} <li> <a {% if (modern_top_link8['link_top'][language_id]) %} href="{{ modern_top_link8['link_top'][language_id] }}"{% endif %}>{% if (modern_top_link8['faicons_top']) %} <i class="{{ modern_top_link8['faicons_top'] }}"></i> {% endif %}{% if (modern_top_link8['title']) %}{{ modern_top_link8['title'][language_id] }}{% endif %}</a> </li> {% endfor %} {% endif %} <!--add menu link--> <!--other link--> {% if (modern_main_link_menu[language_id]) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="dropdown"> <a class="with-child dropdown-toggle" {% if (modern_main_link_href_menu[language_id] is not empty) %} href="{{ modern_main_link_href_menu[language_id] }}" {% else %} href="javascript:void(0)" {% endif %} data-hover="dropdown" data-delay="1" data-close-others="false">{{ modern_main_link_menu[language_id] }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu"> <div class="dropdown-inner1 children-category"> <ul class="list-unstyled"> {% if (modern_top_links4 ) %} {% for modern_top_link4 in modern_top_links4 %} <li> <a {% if (modern_top_link4['link_top'][language_id]) %} href="{{ modern_top_link4['link_top'][language_id] }}"{% endif %} title="{{ modern_top_link4['title'][language_id] }}">{% if (modern_top_link4['faicons_top']) %} <i class="{{ modern_top_link4['faicons_top'] }}"></i>{% endif %}{% if (modern_top_link4['title']) %} {{ modern_top_link4['title'][language_id] }}{% endif %}</a> </li> {% endfor %} {% endif %} </ul> </div> </div> </li> {% endif %} <!--other link END--> <!--informations--> {% if (modern_info_menu != 1) %} {% if (informations) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="dropdown"> <a class="with-child dropdown-toggle" data-hover="dropdown" data-delay="1" data-close-others="false">{{ text_information }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu"> <div class="dropdown-inner1 children-category"> <ul class="list-unstyled"> {% for information in informations %} <li><a href="{{ information['href'] }}">{{ information['title'] }}</a></li> {% endfor %} </ul> </div> </div> </li> {% endif %} {% endif %} <!--informations END--> <!--manufacturer--> {% if (modern_man_menu != 1) %} {% if (manufacturers) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="dropdown postion_fullmenu2"> <a class="with-child dropdown-toggle" href="{{ href_manufacturer }}" data-hover="dropdown" data-delay="1" data-close-others="false">{{ text_manufacturer }}<span class="fa fa-angle-down menu"></span></a> <div class="mancss dropdown-menu"> <div class="dropdown-inner children-category"> {% for manufacturer in manufacturers %} <ul class="list-unstyled" style="width: {{ 100/modern_menuman_column-1 }}%"> <li>{% if (modern_photos_menu_manuf != 1) %}<span class = "hidden-xs hidden-sm "><a class = "manufac-menu" href="{{ manufacturer['href'] }}"><img class="opacityhv manimgmen" src="{{ manufacturer['manufacturer_image'] }}" alt="{{ manufacturer['name'] }}" title="{{ manufacturer['name'] }}" ></a></span>{% endif %}<a class = "manufac-menu" href="{{ manufacturer['href'] }}">{{ manufacturer['name'] }}</a></li> </ul> {% endfor %} </div> </div> </li> {% endif %} {% endif %} <!--manufacturer END--> </ul> </div></noindex> </div> </nav> </div> </div> </div> </div> </div> <script> categories_count = {{ categories|length }}; modern_menu_category_lg = {{ modern_menu_category_lg }}; modern_menu_category_md = {{ modern_menu_category_md }}; modern_menu_category_sm = {{ modern_menu_category_sm }}; var q = 0; $(window).scroll(function(){if(window.innerWidth>991)if($(window).scrollTop()>{% if (not modern_open_menu) %}850{% else %}250{% endif %}){if(0==q){var a='<div class="top-header2"><div id="fix_scroll"><div class="container"><div class="row postion_fullmenu"><div id="logo" class="col-lg-1 col-md-1 col-sm-1 col-xs-1">';a+=$("div#logo").html(),a+='</div><div class="col-lg-9 col-md-9 col-sm-9 col-xs-9 postion_fullmenu2"><div class="top-menu">',a+=$("div.top-menu").html(),a+='</div></div><div class="col-lg-2 col-md-2 col-sm-2 col-xs-2 cart">',a+=$("div.cart").html(),a+="</div></div></div></div></div>",$("body").append(a),$(".top-header2 .hidev").removeClass("open"),$(".top-header2 .hidev").addClass("slide"),q=1}}else 1==q&&($("*").remove(".top-header2"),q=0)}); $(window).resize(function() { if (window.innerWidth < 992) { $('*').remove('.top-header2'); } else if (window.innerWidth > 991 && window.innerWidth < 1200) { $('.dropdown-menu2').attr('class', 'dropdown-menu2 column_width2'); $('.mcol').attr('class', 'col-sm-4 mcol'); $('.dropdown-menu2 .clearfix').remove(); $(".dropdown-menu2 > li:nth-child(3n)").after('<li class="clearfix visible-sm visible-md visible-lg"></li>'); category_menu = {{ category_menu_sm }}; if (modern_menu_category_sm < categories_count) { $('#openclose').css('display', ''); } else { $('#openclose').css('display', 'none'); } } else if (window.innerWidth > 1199 && window.innerWidth < 1600) { $('.dropdown-menu2').attr('class', 'dropdown-menu2 column_width3'); $('.mcol').attr('class', 'col-sm-3 mcol'); $('.dropdown-menu2 .clearfix').remove(); $(".dropdown-menu2 > li:nth-child(4n)").after('<li class="clearfix visible-sm visible-md visible-lg"></li>'); category_menu = {{ category_menu_md }}; if (modern_menu_category_md < categories_count) { $('#openclose').css('display', ''); } else { $('#openclose').css('display', 'none'); } } else if (window.innerWidth > 1599) { $('.dropdown-menu2').attr('class', 'dropdown-menu2 column_width3'); $('.mcol').attr('class', 'col-sm-3 mcol'); $('.dropdown-menu2 .clearfix').remove(); $(".dropdown-menu2 > li:nth-child(4n)").after('<li class="clearfix visible-sm visible-md visible-lg"></li>'); category_menu = {{ category_menu_lg }}; if (modern_menu_category_lg < categories_count) { $('#openclose').css('display', ''); } else { $('#openclose').css('display', 'none'); } } }); $(window).resize(); $(".menu_slow").click(function () { if ($(".dropdown-menu > li.li-drop:nth-last-child(-n+"+ category_menu +")").is(":hidden")) { $(".dropdown-menu > li.li-drop:nth-last-child(-n+"+ category_menu +")").show("slow"); $('.li-drop').removeClass('close-button'); $('.li-drop').addClass('open-button'); $('.menu_slow').text('{{ text_modern_menu_close }}'); } else { $(".dropdown-menu > li.li-drop:nth-last-child(-n+"+ category_menu +")").hide("slow"); $('.li-drop').removeClass('open-button'); $('.li-drop').addClass('close-button'); $('.menu_slow').text('{{ text_modern_menu_open }}'); } return false; }); </script> {% else %} <div class="col-lg-8 col-md-8 col-sm-8 col-xs-12 postion_fullmenu2"> <div class="top-menu"> <div id="top-menu" > <div class="nobackground"> <nav id="menu" class="navbar"> <div class="navbar-header"><span id="category" class="visible-xs">{{ text_category }}</span> <button type="button" class="btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse"><i class="fa fa-bars"></i></button> </div> <div class="collapse navbar-collapse navbar-ex1-collapse menu_adapt_coll"> <ul class="nav navbar-nav"> {% if (modern_ico_home != 1) %} <li><a href="{{ base }}"><i class="fa fa-home fa_homemenu"></i></a></li> {% endif %} {% if (modern_ico_home_text != 1) %} <li><a href="{{ base }}">{{ text_homel }}</i></a></li> {% endif %} {% if (modern_seevmenu_menu != 1) %} <li class="dropdown hidev"> <a class="with-child dropdown-toggle size" {% if (modern_link_menucatalog is not empty) %} href="{{ modern_link_menucatalog }}" {% endif %} data-hover="dropdown" data-delay="1" data-close-others="false"> {% if (modern_seevmenuico != 1) %} <i class="fa fa-bars"></i>&nbsp;&nbsp; {% endif %} {{ modern_vmenu_menu[language_id] }}<span class="fa fa-angle-down menu"></span></a> <ul class="dropdown-menu multi-level" role="menu"> {% for category in categories %} {% if (category['children']) %} <li class="dropdown-submenu li-drop" > <a class="dr_menu" tabindex="-1" href="{{ category['href'] }}"> {{ category['name'] }} <span class="arrowvertmenu"></span></a> <ul class="dropdown-menu2"> {% if (category['image_main'] and modern_main_photos_menu != 1) %} <li class="col-lg-3 col-md-3 col-sm-4 li-main-foto"> <a href="{{ category['href'] }}"> <div class="main-foto-pos"><img class="main-foto-menu img-responsive" alt="{{ category['name'] }}" title="{{ category['name'] }}" src="{{ category['image_main'] }}"><span class="main-foto-back"></span></div> </a> </li> {% endif %} {% for child in category['children'] %} <li class="col-sm-4 mcol"> <span class = "hidden-xs">{% if (modern_photos_menu != 1 and (child['image2'] is not empty)) %}<a href="{{ child['href'] }}"><img class="vopmen img-responsive" src="{{ child['image2'] }}" alt="{{ child['name'] }}" title="{{ child['name'] }}" ></a>{% endif %}</span> <div class="clearfix"></div> <a class="submenu_main" href="{{ child['href'] }}">{{ child['name'] }}</a> {% if (modern_3lv_menu != 1) %} {% if (child['children_lv3'] is defined and child['children_lv3']) %} {% set v = 0 %} {% set break = false %} {% for child_lv3 in child['children_lv3'] if not break %} <a class = "menuv_3lv " href="{{ child_lv3['href'] }}">&nbsp;&nbsp;- {{ child_lv3['name'] }}</a> {% set v = v + 1 %} {% if (v >modern_countvmenulv - 1) %} <a class="menuv-allv" href="{{ child['href'] }}"><noindex>{{ modern_seeall_menu[language_id] }}</noindex></a> {% set break = true %} {% endif %} {% endfor %} {% endif %} {% endif %} </li> {% endfor %} </ul> </li> {% else %} <li class="v3hover li-drop"><a class="dr_menu" href="{{ category['href'] }}">{{ category['name'] }}</a></li> {% endif %} {% endfor %} </ul> </li> {% endif %} </ul> <div class="menu_mob_plus"> <div class="hidem"> <ul class="nav navbar-nav"> {% for category in categories %} {% if (category['children']) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="{% if (category['category_id'] == category_id) %}{{ 'activetopmenu' }}{% endif %} dropdown postion_fullmenu2"> <a class="with-child dropdown-toggle" href="{{ category['href'] }}" data-hover="dropdown" data-delay="1" data-close-others="false">{{ category['name'] }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu"> <div class="dropdown-inner children-category"> {% if (category['image_main'] and modern_main_photos_menu != 1) %} <ul class="col-lg-2 col-md-3 col-sm-3 li-main-foto"><li class="list_type"> <a href="{{ category['href'] }}"> <div class="main-foto-pos"><img class="image_main main-foto-menu img-responsive" alt="{{ category['name'] }}" title="{{ category['name'] }}" src="{{ category['image_main'] }}"><span class="main-foto-back"></span></div> </a> </li></ul> {% endif %} {% for child in category['children'] %} <ul class="list-unstyled {% if (category['image_main'] and modern_main_photos_menu != 1) %} col-lg-2 col-md-3 col-sm-3 clear_menu_cat_img {% else %} col-lg-2 col-md-3 col-sm-3 clear_menu_cat_noimg {% endif %}" > {% if (child['children_lv3'] is defined and child['children_lv3']) %} <li class="with-child" > <span class = "hidden-xs hidden-sm">{% if (modern_photos_menu != 1 and (child['image2'] is not empty)) %}<a href="{{ child['href'] }}"><img class="opacityhv img-responsive" src="{{ child['image2'] }}" alt="{{ child['name'] }}" title="{{ child['name'] }}" ></a>{% endif %}</span> <a href="{{ child['href'] }}"><span class="style2lv">{{ child['name'] }}</span></a> </li> {% if (modern_3lv_menu != 1) %} {% set m = 0 %} {% set break = false %} {% for child_lv3 in child['children_lv3'] if not break %} <li class="children_lv3"><a href="{{ child_lv3['href'] }}">&nbsp;&nbsp;- {{ child_lv3['name'] }}</a> {% set m = m + 1 %} {% if (m >modern_countvmenulv - 1) %} <a class="menuv-all" href="{{ child['href'] }}"><noindex>{{ modern_seeall_menu[language_id] }}</noindex></a> {% set break = true %} {% endif %} </li> {% endfor %} {% endif %} {% else %} <li>{% if (modern_photos_menu != 1 and (child['image2'] is not empty)) %}<span class = "hidden-xs hidden-sm"><a href="{{ child['href'] }}"><img class="opacityhv img-responsive" src="{{ child['image2'] }}" alt="{{ child['name'] }}" title="{{ child['name'] }}" ></a></span>{% endif %}<a href="{{ child['href'] }}"><span class="style2lv">{{ child['name'] }}</span></a></li> {% endif %} </ul> {% endfor %} </div> </div> <div class="clearfix"></div> </li> {% else %} <li class="{% if (category['category_id'] == category_id) %}{{ 'activetopmenu' }}{% endif %}"><a href="{{ category['href'] }}">{{ category['name'] }}</a></li> {% endif %} {% endfor %} </ul> </div> <ul class="nav navbar-nav"> <!--add menu link--> {% if (modern_top_links8 ) %} {% for modern_top_link8 in modern_top_links8 %} <li> <a {% if (modern_top_link8['link_top'][language_id]) %} href="{{ modern_top_link8['link_top'][language_id] }}"{% endif %}>{% if (modern_top_link8['faicons_top']) %} <i class="{{ modern_top_link8['faicons_top'] }}"></i> {% endif %}{% if (modern_top_link8['title']) %}{{ modern_top_link8['title'][language_id] }}{% endif %}</a> </li> {% endfor %} {% endif %} <!--add menu link--> <!--other link--> {% if (modern_main_link_menu[language_id]) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="dropdown"> <a class="with-child dropdown-toggle" {% if (modern_main_link_href_menu[language_id] is not empty) %} href="{{ modern_main_link_href_menu[language_id] }}" {% else %} href="javascript:void(0)" {% endif %} data-hover="dropdown" data-delay="1" data-close-others="false">{{ modern_main_link_menu[language_id] }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu"> <div class="dropdown-inner1 children-category"> <ul class="list-unstyled"> {% if (modern_top_links4 ) %} {% for modern_top_link4 in modern_top_links4 %} <li> <a {% if (modern_top_link4['link_top'][language_id]) %} href="{{ modern_top_link4['link_top'][language_id] }}"{% endif %} title="{{ modern_top_link4['title'][language_id] }}">{% if (modern_top_link4['faicons_top']) %} <i class="{{ modern_top_link4['faicons_top'] }}"></i>{% endif %}{% if (modern_top_link4['title']) %} {{ modern_top_link4['title'][language_id] }}{% endif %}</a> </li> {% endfor %} {% endif %} </ul> </div> </div> </li> {% endif %} <!--other link END--> <!--informations--> {% if (modern_info_menu != 1) %} {% if (informations) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="dropdown"> <a class="with-child dropdown-toggle" data-hover="dropdown" data-delay="1" data-close-others="false">{{ text_information }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu"> <div class="dropdown-inner1 children-category"> <ul class="list-unstyled"> {% for information in informations %} <li><a href="{{ information['href'] }}">{{ information['title'] }}</a></li> {% endfor %} </ul> </div> </div> </li> {% endif %} {% endif %} <!--informations END--> <!--manufacturer--> {% if (modern_man_menu != 1) %} {% if (manufacturers) %} <li class="plus"><i class="fa fa-plus"></i><i class="fa fa-minus"></i></li> <li class="dropdown manuf_drop postion_fullmenu2"> <a class="with-child dropdown-toggle" href="{{ href_manufacturer }}" data-hover="dropdown" data-delay="1" data-close-others="false">{{ text_manufacturer }}<span class="fa fa-angle-down menu"></span></a> <div class="dropdown-menu"> <div class="dropdown-inner children-category"> {% for manufacturer in manufacturers %} <ul class="list-unstyled" style="width: {{ 100/modern_menuman_column-1 }}%"> <li><span class = "hidden-xs hidden-sm ">{% if (modern_photos_menu_manuf != 1) %}<a class = "manufac-menu" href="{{ manufacturer['href'] }}"><img class="opacityhv manimgmen" src="{{ manufacturer['manufacturer_image'] }}" alt="{{ manufacturer['name'] }}" title="{{ manufacturer['name'] }}" ></a></span>{% endif %}<a class = "manufac-menu" href="{{ manufacturer['href'] }}">{{ manufacturer['name'] }}</a></li> </ul> {% endfor %} </div> </div> </li> {% endif %} {% endif %} <!--manufacturer END--> </ul> </div> </div> </nav> </div> </div> </div> </div> {% endif %}  
      menu.php
      <?php class ControllerCommonMenu extends Controller { public function index() { $this->load->language('common/menu'); // Menu $this->load->model('catalog/category'); $this->load->model('catalog/product'); $data['categories'] = array(); $categories = $this->model_catalog_category->getCategories(0); foreach ($categories as $category) { if ($category['top']) { // Level 2 $children_data = array(); $children = $this->model_catalog_category->getCategories($category['category_id']); foreach ($children as $child) { $filter_data = array( 'filter_category_id' => $child['category_id'], 'filter_sub_category' => true ); $children_data[] = array( 'name' => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''), 'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) ); } // Level 1 $data['categories'][] = array( 'name' => $category['name'], 'children' => $children_data, 'column' => $category['column'] ? $category['column'] : 1, 'href' => $this->url->link('product/category', 'path=' . $category['category_id']) ); } } return $this->load->view('common/menu', $data); } }  
      ajaxMenu.zip
  • Recently Browsing   1 member

×

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.