Сделать свое вертикальное меню в opencart. Главное меню OpenCart: как добавить, удалить пункт верхнего меню Опенкарт

Ошибка 500 после установки модуля означает, что случилась какая-то критическая ошибка в php.

Для определение проблемы можно:
1. Открыть файл logs/error.log на вашем сервере. В конце этого файла будут все последние критические ошибки.
2. Открыть в админке Инструменты > Логи ошибок - в этом месте отображаются ошибки, но не всегда.
3. Включить вывод ошибок php на экран - добавить следующий код в конец файла.htaccess:

Php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL

Возможные причины:

1. Если вы раньше не загружали модули в архиве через админку - вам нужно установить бесплатную модификацию согласно инструкции и после этого переустановить модуль

2. Возможно в устанавливаемого модуля нет собственной страницы настроек и соответственно его не будет в списке Модулей

Два варианта решения:

1. Если при установке модуля из админки вылетает эта ошибка - вам нужно установить бесплатную . Она установиться без проблем через тот же установщик дополнений, только после установки не забудьте обновить модификации и затем можете приступать к установке любых модулей на Opencart 2.

2. Также решить эту ошибку можно по другому: прописать доступы к FTP в админке Система > Настройки > Магазин > вкладка FTP.

Если вы видите сообщение "Доступ запрещен! У Вас нет прав для доступа к этой странице. Если она Вам нужна, обратитесь к администратору. " - нужно дать права администраторам на управление модулем или страницей.

Решение: в админке Opencart 2 переходим в Система > Пользователи > Группы пользователей > Администраторы и здесь нажимаем "Выделить все" ниже обоих блоков, затем Сохранить .

Еще одной причиной появления этой ошибки может быть не правильная установка модуля - файлы не загрузились на свои места. Загрузите файлы модуля вручную на сервер или установите фикс и переустановите модуль.

Если модуль - это один XML файл, то его расширение должно быть.ocmod.xml

Если модуль - это ocmod.zip архив, то его не нужно распаковывать, а устанавливать как есть. В таком архиве обязательно должна быть папка upload (может быть пустой) , а также могут быть файлы модификаций: install.xml , install.php , install.sql . Никаких других файлов в корне архива быть не должно.

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

Для решения этой ошибки вам нужно перед установкой удалить старую версию модификации в разделе Модули > Модификации.

Если такого модуля у вас нет, но совпадает ID, тогда нужно поменять значение параметра в устанавливаемом модификаторе XML, сделать этот параметр уникальным дописав несколько символов.

Эта ошибка означает, что вы пытаетесь установить слишком объемный xml- модификатор.

Количество символов в ocmod.xml файле не должно превышать 65535 .

Для решения ошибки нужно разбить xml-файл модификации на несколько частей, главное - не забыть задавать каждой уникальное значение в , можно добавлять к текущему значению цифры 1,2,3... как идентификаторы части.

Еще одним способом решения есть изменения типа в поля, где храняться модификации, в таблице "oc_modification" базы данных. Нужно выполнить следующий SQL-запрос:
ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

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

Про главное меню OpenCart

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

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

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

  • /catalog/view/theme/default/template/common/header.twig
  • /catalog/controller/common/header.php

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

Как добавить новый пункт главного меню

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

  • Идем на вкладку «Категории»;
  • Выбираем родительскую категорию товаров и нажимаем значок «Редактировать» в строке выбранной категории;

  • На странице ректора категории, на вкладке «Данные» выделяем чекбокс «Главное меню» (1 на фото);

  • Ниже указываем количество столбцов для дочерних категорий (2 на фото). Значение «0, ноль» будет соответствовать одному столбцу, значению «1»;
  • Не забываем указать сортировку этой категории в главном горизонтальном меню (3).

Убрать пункт меню из главного меню

Чтобы удалить любой пункт верхнего меню OpenCart нужно:

  • Выбрать родительскую категорию товаров и нажать значок «Редактировать» в строке выбранной категории;
  • На странице ректора категории, на вкладке «Данные» убрать галочку в чеке «Главное меню»;
  • Не забыть сохраниться.

Вывод

Согласитесь, в коробочной версии главное меню OpenCart очень просто настраивается. По моему, слишком просто и слишком ограниченно. Если сравнивать настройки меню OpenCart с меню других CMS, оно явно проигрывает.

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

    Давайте удалим элемент меню Список желаний (Wish List). Откройте файл \catalog\view\theme\themeXXX\template\common\header .tpl в вашем редакторе. Найдите код со структурой, похожей на такую:


  1. Найдите соответствующий фрагмент кода. Вы можете видеть код списка желаний на скриншоте ниже (выделенный серым цветом). Удалите код, так же как и тег

  2. . Сохраните изменения, загрузите изменённый файл и обновите страницу. Элемент «Список желаний» успешно удалён.


  3. Давайте изменим названия пунктов меню Регистрация (Registration) и Корзина (Shopping cart ). Разархивируйте пакет шаблона, перейдите в папку themeXXX . Разархивируйте файл с расширениями. Откройте TemplateMonster_header .ocmod .xml в редакторе.


  4. Проверьте, есть ли в файле заголовок, который Вы хотите изменить. Вы можете использовать функцию поиска в редакторе, для того чтобы найти соответствующий текст. Название «Регистрация» указано в модификации. Изменения нужно внести напрямую в модификации. В качестве альтернативы, Вы можете внести изменения в файле (en-gb - это языковая папка).

    Мы изменили название Регистрация (Registration) на Тест Регистрация (RegistrationTest). Сохраните изменения, которые Вы внесли в модификацию. Те же изменения необходимо внести и в другие языки.


  5. Перейдите на вкладку Расширения -> Модификации (Extensions -> Modifications). Найдите модификацию TemplateMonster header и выберите её. Удалите модификацию.


  6. Перейдите в Установщик расширений (Extension Installer). Загрузите модификацию с обновлённым хедером.


  7. Обновите модификации (Refresh modifications) в разделе Расширения -> Модификации (Extensions -> Modification).


  8. Обновите страницу. Мы успешно изменили название для пункта меню Регистрация (Registration).


  9. В нашем случае текст Корзина (Shopping cart ) можно изменить напрямую в языковом файле. Откройте файл \catalog\language\en-gb\common\header .php (путь к файлу зависит от языка) в вашем редакторе. Измените текст. Сохраните изменения и загрузите изменённый файл.


  10. Перейдите на вкладку Расширения -> Модификации (Extensions -> Modifications) и обновите модификации. Обновите страницу.

  11. Мы изменили название Корзина (Shopping Cart ).


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



Понравилась статья? Поделиться с друзьями: