Схемы в Opencart. Различная структура сайта для отдельных страниц.

Категория: 

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

После установки Opencart, зайдя в административную панель, и ознакомившись с основным функционалом, мы рано или поздно сталкиваемся с вопросом — как установить отображение модулей на всех страницах сайта? Ведь то, что предложено на данный момент — это около десятка различных схем, отвечающих за определенные страницы. Конечно, можно пойти долгим путем, и для каждого модуля устанавливать все схемы, но можно поступить гораздо проще:

Как отобразить модули на всех страницах сайта CMS Opencart

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

- Переходим в Система → Дизайн → Схемы. Удаляем все схемы кроме Default. Схема Default теперь будет отвечать за отображение модулей на всех страницах сайта, которым не задана своя персональная схема.

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

Создание персональной схемы для отдельной страницы

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

- Перейдем по уже известному пути Система → Дизайн → Схемы, жмем кнопку Добавить.

- Вводим название новой схемы, например, Home, а также добавляем путь. Для главной страницы путь будет common/home.

Сохраняем.

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

Теперь можно настроить внешний вид главной страницы, добавив схему Home для необходимых модулей:

Таким образом можно создавать схемы для страниц практически любого типа. Чтобы узнать путь для выбранной страницы, можно посмотреть на ее адрес в адресной строке браузера, например, для страницы с адресом, таким как на скрине, путь будет product/product

Грубо говоря, пути для схем можно посмотреть в папке с tpl шаблонами темы. Например, для страниц информации можно открыть папку catalog/view/theme/ваша-тема/template/information. В этой папке есть несколько файлов - contact, information, sitemap. Названия папки и файлов в ней и будут схемами. Значит, главной схемой для всех информационных страниц будет просто слово information, а, если схема нужна только для страницы контактов, то, соответственно, схема будет information/contact.

Возможно вам также будут интересны статьи:

Tags: 

Комментарии

Аватар пользователя css

Спасибо за статью, наконец, удалось разобраться с этими схемами!

Аватар пользователя Роман

скажите пожалуйста в чем проблема загрузил в модуль рекомендуемые фото товара выставил размеры а на главной странице сайт эти фото накладывает краями один на другой кроме когда стоит 80Х80 размер help me

Аватар пользователя Asterial

В таблице стилей stylesheet.css попробуйте в строке .box-product > div поменять значение width на большее, так как по умолчанию стоит 130px. Но при этом ширина поменяется для всех модулей, поэтому, конечно, лучше сделать отдельный стиль для модуля Рекомендуемые.

Аватар пользователя Сергей

Здравствуйте!
Подскажите, где можно прочесть основы настройки opencart ? Только не форумы, там черт ногу сломит. Если не затруднит, объясните взаимосвязь схемы-модули-путь.

Аватар пользователя Asterial

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

Аватар пользователя Сергей

Через админку есть возможность удалить горизонтальное меню ?
Как сделать чтобы "категории" были на всех страницах сайта ?

Аватар пользователя Asterial

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

Если у вас на сайте будет одинаковая структура на всех страницах, можно удалить все схемы, кроме default, и установить ее для необходимых модулей, тогда они будут отображаться на всех страницах сайта. Если же структура будет разной, то кроме схемы default создать схемы для нужных страниц. Затем в настройках модуля Категории выбрать схему default и, нажимая кнопку "Добавить модуль", добавить остальные схемы.

Аватар пользователя Роман

Приветствую. Подскажите, у меня пропали кнопки поделиться в соц. сетях на страницах товаров. В чем дело может быть?

Аватар пользователя Asterial

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

Аватар пользователя Константин

Подскажите, как добавить пункт меню в горизонтальное меню и при этом не отображать его в меню категорий, находящимся слева? т.е. создавая категорию "главная" и ставя галочку "главное меню" его видно и в горизонтальном и в категории, а мне надо, чтобы только в горизонтальном меню.
и еще, рядом с "главная" в меню категорий стоит (0), т.е. количество товаров. как убрать это количество?
спасибо.

Аватар пользователя Asterial

Может быть, тогда лучше не использовать боковое меню Категории, а вместо него поставить модуль HTML-блок, в котором вручную прописать нужные ссылки? Не совсем понятно, что именно вы хотите сделать, поэтому сложно что-то посоветовать.

Количество товара в скобках на разных версиях opencart убирается по-разному, например, в 1.5.5 это делается в настройках:
Система - Настройки - [Изменить] - Вкладка Опции - Количество товаров в подкатегории: (поставить Нет)

Аватар пользователя Максим

А если у меня две категории товара, и дизайн страницы товара должен отличаться. это тоже через эти схемы делается ? Например: у меня в магазине продается чай, и и диски для машины :) . Когда открываешь товар-чай, планируется что бы background-image было чайное дерево :).... а когда диски, background-image - дорога, + различные элементы стилистики отличались.

Если это не здесь делается. может подскажите как ?
СПС.

Аватар пользователя Asterial

Надо к тэгу body добавить класс, зависящий от адреса страницы. Тогда можно будет в css задавать фон и для страниц определенной категории, и для отдельных продуктов и т.д на основании этого класса. Как это сделать, написано здесь: http://forum.opencart.com/viewtopic.php?f=21&t=53852 и на основе этого кода сделан vqmod http://www.opencart.com/index.php?route=extension/extension/info&extensi...

После установки кода, класс body будет, например, такой:

body class="page_product page_path_57 page_product_id_49 lang_ru"

И тут видно, что первый класс page_product - это для всех страниц товаров, page_path_57 - класс для всех страниц категории с id 57, page_product_id_49 - класс для страницы товара с id 47

Таким образом, пишете в css файле нужный класс и прописываете ему фон.

Аватар пользователя ROTOR

прочитал несколько раз и не до конца понял отвечает ли эта статья на вопрос - как присвоить разные схемы двум отдельным категориям товаров?

Аватар пользователя Asterial

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