Модуль вывода категорий для Open. Cart 2. 3. Процесс создания модуля. Так же, я опишу процесс его создания. Файлы данного модуля вы можете скачать.
Не могу вывести товары на главную страницу: "Нет товаров, соответствующих. Как в magento узнать номер категории товаров? Модуль категорий для OpenCart 2.3. Дизайн – Схемы – Главная (или нужная страница);. K Кантора. Можно включить/отключить кол-во товаров выводимое после названия категорий в скобках так же как и для стандартного .
ОПИСАНИЕ МОДУЛЯМодуль создает боковую колонку, в которой выводится список категорий. Данный модуль существенно расширяет функционал стандартного вывода списка категорий: - можно сделать, чтобы выводились только основные категории или вместе с дочерними; - есть возможность отображать изображение для каждой категории или только для основных. Для изображений предпочтительно использование формата . Установка: - содержимое архива скопировать в корневую папку; - ДОПОЛНЕНИЯ – Дополнения – Модули – выбрать из списка «Категории.
В Open. Cart принято назвать файлы одного модуля одинаково, например category. Ksl. php для контроллера, модели, языкового файла и category. Ksl. tpl для файла- представления. Админка. Контроллер и другие файлы в каталоге admin создаются, если модуль должен включаться/выключаться в админке и тем более, если должен иметь какие- то настройки.
Обязательно создается контроллер. В нашем случае этоadmin\controller\extension\module\category.
Ksl. php. При разработке своего модуля, проще всего скопировать контроллер другого, стандартного модуля (желательно похожего по функционалу) и вносить свои изменения, чтобы ничего не забыть прописать. Для написания админ- части данного модуля, я использовал файлы стандартного модуля категорий и менял под свои нужды: контроллер - admin\controller\extension\module\category. В контроллере подключаются нужные модели, языковые файлы, виды. Данные файлы создаются так же в папке extension\module (модели, языкового файла или вида).
Русское сообщество OpenCart. Форум OpenCart. Документация и Инструкции по OpenCart.
Название для класса контроллера и модели пишутся согласно пути по которому файл находится: Controller. Extension. Module. Category. Kslтут название класса контроллера у меня Category. Ksl. Опишу основные элементы контроллера. В контроллере проверяется отправка формы: if (($this- > request- > server. Данная таблица используется для хранения настроек разных модулей.
Важный момент – элементы формы, которые будут переданы POST- запросом на сервер, должны иметь атрибут name начинающийся с данного ключа. В нашем случае, например: < select name=. Вторым элементом методу передается массив параметров полученных из формы. Я решил сделать кнопку «Применить» для применения новых настроек без закрытия страницы модуля, для этого я создал в форме отдельную кнопку, которая, при нажатии, дополнительно к форме отправляет параметр ksl. В результате, в контроллере, я проверяю была ли нажата эта кнопка и если да, то перенаправляю обратно на эту же страницу: if (isset($post.
При возможности, всегда лучше использовать существующие модели и методы, а не писать свои. Подключаем модель$this- > load- > model('catalog/category. Ksl'); Получаем список родительских категорий: $categories = $this- > model. Который, в конце метода, передается в файл- представление: $this- > response- > set.
Output($this- > load- > view('extension/module/category. Ksl', $data)); Сам файл представленияadmin\view\template\extension\module\category.
Ksl. tplтак же, делаем на основе файла похожего модуля. Тогда там уже будет прописан код подключения шапки, левой колонки с меню и тд.: < ? Что делается в админ- панели: Дизайн – Схемы. Например выводим на главной странице в левой колонке. Создаем контроллер (файл catalog\controller\extension\module\category. Ksl. php), который будет подключаться в выбранном месте указанного шаблона.
Вначале разбираем текущий URL на предмет указания в нем id категории. Сделаем, чтобы в файле- представлении текущая категория выводилась в рамке. Конечно это не будет работать для главной страницы и других, а только для страницы определенной категории. Далее как обычно, загружаем нужные модели и получаем данные, сохраняя в общем массиве $data для передачи в вид. Например получаем массив категорий: $this- > load- > model('catalog/category'). Форму же придают CSS стили, соответственно изменяя стили, можно настроить внешний вид.
Модуль готов. Если понять принцип по которому он создавался и как связаны между собой контроллер/модель/вид в Open. Cart, то поймете, что создание модулей дело не особо сложное. Правда в данном модуле не пришлось использовать модификатор или события, но и там вполне можно разобраться, тем более, что мной написаны соответствующие статьи для данного сайта. Если статья оказалась для вас полезной, можете мотивировать меня путем перечисления любой суммы.