Вывод категорий на главной странице OpenCart


Выезжающее подменю категорий на главной странице

Всем привет. Установил модуль вывода категорий на главной странице (http://www.opencart.com/index.php?ro. cense=0&page=2)
Все показывает как надо, но задумка вот какая — при наведении на блок категории чтобы подкатегории выезжали снизу, а не торчали статично как реализовано.

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

Добавление категории

Категории

Добавление категории, как и все действия, которые связаны с добавлением информации на сайт, осуществляются в административной части сайта.

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

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

Данная форма позволяет редактировать основные данные для продвижения сайта на двух языках, где это необходимо. Как мы видим на рисунке, представленном выше для добавления категории необходимо внести информацию в 4 вкладки: Основное, Данные, SEO, Дизайн. Рассмотрим каждый раздел подробно.

Категория. Заполняется название категории. Будет использоваться в меню, ссылочной навигации. Оно должно быть уникальным и соответствовать размещаемой информации/товару. Нежелательно использование длинных словосочетаний. Обязательное поля для заполнения.

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

Мета-тег Title. Название страницы сайта. Используется поисковыми системами для поиска страниц по запросам. Обязательное поел для заполнения.

Мета-тег Descriptions. Описание категории. Может использоваться поисковыми системами в качестве сниппета страницы.

Мета-тег Keywords. Здесь необходимо заполнить ключевые слова, которые относятся к данной категории, страницы. Не рекомендуется спамить в данном пункте. Не обязательно для заполнения.

Обязательные поля должны быть заполнены на всех имеющихся в административной части языка. В устанавливаемом с нашего сайта opencart их по умолчанию два — английский и русский. Переход на второй язык осуществляется с помощью переключения вкладок.

Родительская категория. Если категория является главной, данное поле необходимо оставить пустым. Если это это внутренний раздел главной категории (подкатегории) в данном поле необходимо прописать название категории к которой он относится. Есть функция автозаполнения.

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

Магазины. Opencart является мультимагазинной платформой, которая позволяет управлять несколькими магазинами на разных доменах с одной товарной базой. Поэтому в административной части есть возможность добавления категории в необходимый магазин. Если это ваша ситуация, тогда может выбрать нужный магазин. По умолчанию отмечен пункт «основной магазин», если у вас один магазин, необходимо оставить данный пункт без изменений, отметку не убирать

Изображение категории. Визуальное отображение категории.

Главное меню. Выбирать данный пункт следует только в случае добавления главной (основной) категории. В пользовательской части данный выбор отображается в горизонтальном меню.

Для подкатегорий данный пункт отмечать не надо.

Столбцы. Данный пункт также заполняется только для главных категорий. Он позволяет определить количество выпадающих столбцов в горизонтальном меню при большом количестве подкатегорий.

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

Статус. Включено — категорий показывается на сайте. Отключено — категории не будет в пользовательской части.

В данном подразделе прописывается ЧПУ для url. Как и в пункте ОСНОВНОЕ есть функционал для заполнения на двух языках.

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

Топ-пост этого месяца:  Где создается глобальная переменная $l10n

Как вывести модуль на определенной странице Opencart

За все время работы с Opencart, я ни разу не задавался вопросом, как вывести модуль только на одной категории, продукте или странице. Всегда модули расположены на всех страницах одного типа, но тут возник вопрос, как же все таки это реализовать?

В продолжение статьи создание позиции вывода модулей в OpenCart, сегодня мы найдем ответ, как же отображать модуль только на определенных страницах, и сделаем это без вмешательства в код, собственноручно через административную панель!

Как работают схемы (layout) в Opencart

Для того чтобы решить данную задачу, необходимо четко понимать, как работает вывод (layout) в Opencart. Сейчас я попробую объяснить вам как это функционирует как я это понимаю.

В Администраторской панели Opencart присутствует пункт меню «Система» — «Дизайн» — «Схемы». Схемы — это бланки/контейнеры/шаблоны, которые могут быть применены к любой странице. Каждая схема представляет из себя просто список указанных для нее модулей в определенных местах (верх, низ, лево, право).

Каждая схема (layout) может применяться к элементам благодаря двум параметрам:

  1. по адресу (url), используя переменную route;
  2. по привязке ее к элементу (категории, продукту, статье).

Таблица layout_route хранит информацию о адресах/разделах, к которым прикреплена та или иная схема:

А связь с определенным элементом указывается для каждого элемента отдельно в его настройках, и таблица связей (в нашем случае категорий со схемами) выглядит следующим образом:

Как вывести или скрыть модуль на определенной странице Opencart

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

Мы же создадим новую схему, которая не будет привязана по адресу — мы ее будем применять только к одному элементу раздела, а именно к категории Components.

Теперь, нам необходимо указать связь между этим Layout’ом (схемой) и нашим элементом, к которому мы хотим его применить. Сделать это можно, если у вашего элемента присутствует вкладка Дизайн (Design), в которой и указывается схема:

Теперь наша с вами категория Components будет показывать только те модули, которым мы задали отображение в схеме Category Components:

После того как мы добавили нужные модули к нашей схеме, категория Components стала уникальной:

Как видите, для данной категории с уникальной схемой выводится только один модуль, для того чтобы категория или товар выглядела также как и остальные — просто добавьте все нужные модули в эту схему и они появятся на странице с уникальной схемой.

Вот таким незамысловатым способом вы можете вывести модуль только на одной категории, только на одной странице/статье, только на странице одного продукта и т.д. Также вы можете применить одну и ту же схему для нескольких элементов раздела, и «особенными» будут все эти разделы. Также вы можете ознакомиться с оригиналом статьи, про принцип работы схем в Opencart.

Есть вопрос? Что-то не понятно в статье? Хочешь отблагодарить? Пиши комментарий!
Если тебе понравилась статья, а тем более если еще и помогла — поставь +1 и нажми «Мне нравится»!

Вывод атрибутов OpenCart 2.0 (вес на главной, в категории, в продукте)

Рубрики
Свежие записи

OpenCart = 2.0
Рассмотрим вывод атрибута в OpenCart будь то на главной, в категории или на странице продукта. Покажу вам несколько способов. Например нам надо вывести атрибут — вес.

Сначала советую вам прочесть статью о структуре шаблона OpenCart. Это очень важно, так как все зависит от того, в каком месте вы хотите вывести атрибут. Вы должны понимать, что есть файлы tpl, которые формируют саму страницу, а к каждому такому файлу есть свой контролер (php файл) в котором содержится весь функционал. Сначала вам нужно найти файл, где вы хотите вывести атрибут, далее его контролер и работать с ними.

Вывод категорий на главной странице OpenCart

Не смотря на хороший функционал, в плане внешнего вида опенкарт оставляет желать лучшего. Речь конечно же про дефолтный шаблон, а не про премиум шаблоны. Вот взять вывод тех же подкатегорий. Сразу даже не понятно что это подкатегории, так как надпись над ними гласит — «Уточните поиск». При чем тут поиск?

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

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

Топ-пост этого месяца:  Возможности обновленной версии мобильных приложений Telegram

Вывод всех товаров Opencart 1.5 в родительской категории

По умолчанию Opencart не выводит товары в родительских категориях из подкатегорий, если это не указано явно при создании товара. Однако есть способ одним махом вывести все товары из подкатегорий.

Это удобно так как при добавлении товара в Opencart, которое мы рассмотрели ранее, не обязательно выбирать все-все подкатегории, где должен показываться товар. Достаточно выбрать одну самую первую (глубокую) подкатегорию, а в остальных — товары выведутся автоматически.

Допустим, у вас есть категория «Компьютеры», а внутри есть подкатегории «Ноутбуки», «Нетбуки» и «Планшеты». И вы хотите, чтобы товары из подкатегорий показывались в основной категории все разом.

Чтобы этого достичь, при традиционном способе вывода товаров, который применяется в Opencart, приходится в админке привязывать товар сразу к нескольким категориям. Вот так:

Но если товаров много, то вручную это утомительно, а пользоваться Экспортом/Импортом или специальными модулями массового изменения товаров, сложно.

Гораздо проще задать для Опенкарта явное автоматическое выведение товаров из подкатегорий в родительские категории.

Вот как это делается:

1 Открываем программные файлы Opencart по FTP по адресу: /catalog/controller/product/category.php (читать: «Как подключиться по FTP к сайту»).

2 Находим строки:

$data = array(
‘filter_category_id’ => $category_id,
‘filter_filter’ => $filter,
‘sort’ => $sort,
‘order’ => $order,
‘start’ => ($page — 1) * $limit,
‘limit’ => $limit
); .

и добавляем еще один параметр: ‘filter_sub_category’ => true, чтобы получилось как на скриншоте (кавычки поменяйте на прямые):

3 Сохраняем файл category.php и перезагружаем страницу родительской категории Opencart.

У меня этот способ прекрасно работает на всех клиентских магазинах под Opencart (OcStore 1.5.x.x).

Кстати, можно его еще более упросить. Если у вас в магазине стоит Vqmod (в 99% магазинов на Opencart он установлен), то просто скачайте вот этот XML-файл и закиньте в папку /vqmod/xml

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

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

Бонус

Я не автор данного решения, поэтому не берусь ответить на вопросы, вроде: «А у меня не заработало, в чем причина?»

Сам использую весь этот код «как есть», протестировал его в своей панели управления — всё работает!

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

Советы

  • Проверьте версию CMS с той, что я привожу в статье, проверьте правильность всех путей, сделайте все внимательно, не торопясь.
  • Если сами не можете справиться с решением, то гуглите дальше или же найдите свободного программиста. Самые выгодные цены на фриланс-биржах. Но обязательно читайте как правильно искать программиста на бирже, чтобы не попасть на деньги.
  • Также можно заказать готовый магазин Opencart — здесь уже всё установлено и гарантированно работает.

Полезный совет: Нажатие клавиш «WIN + D» позволяет быстро скрыть текущие окна и перейти к рабочему столу Windows.

Opencart 2.3 выводим категории в статью сайта

Краткое руководство

Для того, чтобы вывести категории в статью сайта на opencart 2.3, надо откорректировать 2 файла (контроллер и шаблон статьи).

Итак, вот список файлов, которые надо открыть:

— catalog/controller/information/information.php
— catalog/controller/common/header.php
— catalog/veiw/theme/default/template/common/header.tpl
— catalog/veiw/theme/default/template/information/information.tpl

В данном примере я изменяю файлы дефолтной темы, но на практике, обычно, это делается в файлах рабочей темы.

1. Найдем и скопируем следующий код в контроллере header.php

И вставим скопированный код в контроллер information.php. Заметьте, я взяла код из двух мест. Первую строку я захватила дополнительно, эта строка отвечает за подключение модели категорий.

Итак, у нас есть массив categories, который содержит информацию о категориях, в нашем случае, это название, ссылка, наличие подкатегорий.

2. Теперь можно отредактировать файл шаблона статьи. Можем скопировать из шаблона шапки код, относящийся к выводу категорий и начинающийся с кода:

и по закрывающую скобку:

Я, например, написала вот такой код:

Мне нужно было вывести список категорий в статье во всю ширину блока, только основные категории без подкатегорий.

Ну вот мы и вывели категории в статье сайта на opencart 2.3.

PS: в данном случае, мы вывели категории в дефолтном шаблоне статьи. Но вам, наверное, потребуется вывести категории только в конкретной статье, тогда нужно создать шаблон для отдельной статьи.

Модуль Стена категорий Opencart 3.0

Модуль для вывода категорий товара в любую позицию сайта, например на главную страницу, на Opencart 3.0. Модуль не затрагивает другие файлы и не зависит от шаблонов.

Топ-пост этого месяца:  Тип объединения в TypeScript синтаксис Union, примеры кода и компиляция в JavaScript

В настройках модуля можно задать размеры картинок категорий для вывода. Больше никаких настройек в модуля нет.

Внешний вид модуля вы можете увидеть на скриншотах.

Инструкция по установке:
1. Загрузить модуль через админку или через FTP
2. Включить модуль Стена категорий, настроить его.
3. Вывести модуль на нужные страницы через Дизайн > Макеты

    Opencart 3.0.0.0 Opencart 3.0.1.1 Opencart 3.0.1.2 Opencart 3.0.2.0 или ocStore 3.0.2.0 Opencart 3.1.0.0 Opencart 3.0.3.1 Opencart 3.0.3.2

Если при установке модуля вы видите ошибку «Директория не доступна для записи» или «Папка не разрешена для записи!» — не спешите огорчаться. В новой версии Opencart 3 ввели строгие ограничение на запись файлов в другие папки кроме extension/module. Но при разарботке модулей очень часто требуется размещать картинки, php -библиотеки, jquery-плагины, css-стили в соответствующих папках сайта.

Решение проблемы:
Скачайте и установите фикс Localcopy OCMOD

Или загрузите модуль по инструкции
1. Распакуйте архив с модулем
2. С помощью «Файлового менеджера» на хостинге или с помощью FTP-клиента нужно з агрузите файлы из папки upload в папку с сайтом на вашем сервере
3. В распакованной папке нажмите правую кнопку мыши на файле install.xml и выберите «Добавить в архив», задайте имя архива install.ocmod.zip
4. Откройте админку сайта, перейдите в раздел Модули > Установка модулей, загрузите созданный архив install.ocmod.zip
5. Перейдите в Модули > Модификаторы, нажмите кнопку Обновить модификации

Возможно несколько проблем и вариантов их решения:

1. Не сброшен кеш шаблона — нужно обновить кеш [скриншот]

2. Вы раньше редактировали файлы шаблона через админку в разделе «Редактор темы», тогда этот файл сохранился в базе данных и на него уже не влияют ocmod-модификаторы, это проблема Opencart 3. Вам нужно установить фикс [скачать] и обновить модификации в админке.

3. Ваш шаблон устроен на TPL-файлах (*.tpl), в то время, когда в Opencart 3 шаблоны должны быть в формате TWIG (*.twig). Проблема в том, что ocmod-модификаторы не влияют на TPL-файлы — все изменения нужно вносить в эти файлы вручную.

Нужно включить вывод всех ошибок php на экране — для этого в файле .htaccess в конце нужно добавить строки:

php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

Теперь вместо ошибки 500 должен отображаться код ошибки, который укажет на проблему.

Вывод количества товара в категории Opencart 2

В стандартном шаблоне (да и во многих других) Opencart 2, в категориях товаров не выводятся остатки. А это очень удобно — при просмотре ассортимента интернет-магазина сразу видеть количество товара на складе. В этой статье решим данное упущение.

Остатки товара в категориях Опенкарт 2

Итак, выводить остаток товара в категории можно двумя разными видами:

  • Выводить только статус товара на складе: «в наличии», «нет в наличии», «предзаказ»
  • Показывать количество на складе для каждой позиции: 1,2…. штук

Рассмотрим, как сделать вывод каждого вида складской справки в категориях Opencart 2 (OcStore 2).

Вывод статуса товара на складе в категориях интернет-магазина на Опенкарт 2

Чтобы выводить статус товара в категориях, нужно чтобы этот статус бы изначально определён. Для этого: переходим в административную часть сайта и в разделе «Система» — «Локализация» — «Состояние на складе».

Здесь должен быть статус для товара в наличии, например, «В наличии». Также — статус для отсутствующих товаров, например, «Предзаказ».

Далее, при редактировании товара, на вкладе «Данные», в строке «Отсутствие на складе:» нужно выбрать каждому товару соответствующий статус, который будет показываться, если его товара не будет на складе.

Далее, чтобы выводить эти статусы в категориях, делаем следующее:

Вывести список производителей на главную OpenCart

Буквально сегодня мне понадобилось вывести список производителей на главную страницу сайта под управлением cms OpenCart. И этот, казалось бы легкий, вопрос занял у меня достаточно много времени. Ведь помимо самого списка мне нужно было вывести изображение производителя. А если у производителя не задано изображение, то выводить его не нужно.

Давайте разберемся, как это реализовать.

Для вывода производителей есть достаточно простой модуль. Немного модифицировав его — я добился желаемого результата. Закидываем файлы в корень сайта (замены не требуют). Переходим в админ-панель, выбираем модули — Manufacturer — установить. Потом заходим в редактирование модуля, добавляем новый, выбираем нужный шаблон и место размещения. Нажимаем сохранить и вуаля — в нужном месте появились производители с картинками.

Протестировано на ocStore 1.5.4.1.2. Скачать модуль.

Добавить комментарий