Шаблонам в Evolution CMS уделяется очень внимания. Я бы назвал шаблон единицей смысла, структуры и дизайна.
За что отвечает шаблон?
- внешний вид страницы
- тип отдаваемого содержимого (html, xml, другое)
- дополнительные поля страницы
- имя класса контроллера для выдачи данных
Если проводить аналогии с другими cms, то ближайший аналог в Drupal - "тип материала", в WordPress - "тип контента" (посты,страницы).
Как и в этих cms, шаблону могут быть назначены свои параметры, характерные именно для того типа контента, который он отдаёт.
Пример: Для шаблона "Новость" будет логичным задать дополнительный параметр типа изображение "Изображение новости". Для шаблона "Товар" не помешает текстовый параметр "Цена товара" и так далее.
Создадим шаблоны, которые потребуются нам на этом этапе.
Заходим в "Элементы"-"Шаблоны" и создаём новый шаблон.
Обратите внимание на поля "псевдоним" и чекбокс "Создать файл шаблона при сохранении". Заполняйте псевдоним и ставьте чекбокс. Это обязательно будет нужно в дальнейшем.
Заодно я указываю категорию "Шаблоны", которую назначу всем шаблонам. Название произвольное и нужно для поддержания порядка на сайте. Скажем, на большом сайте можно разбить все шаблоны по категориям ("Шаблоны текстовые", "Шаблоны магазина"), чтобы легче ориентироваться в админке.
Чтобы создать шаблоны, необходимо представить структуру сайта. Наш сайт будет иметь вот такую струкутуру. Если мы сейчас что-то забыли - не беда, главное представлять себе общий смысл сайта.
- Главная страница
- Каталог
- Раздел каталога
- Товар
- ...
- Товар
- Ещё раздел каталога
- Товар
- ...
- Товар
- ...
- Новости
- Новость
- ...
- Новость
- Наши работы
- Страница работы
- ...
- Ещё страницы работ
- О компании
- Контакты
Если вы решили, что компания продаёт не товары, а услуги, никто не запрещает изменить "каталог товаров" на "услуги", а "товар" на "услуга" и убрать разделы внутри каталога. Просто скорректируйте разработку, исходя из своих нужд.
Вот таблица, где расписано, какие имена, псевдонимы и описания нужно задать шаблонам для будущего сайта компании.
Имя | Псевдоним | Описание |
---|---|---|
Главная страница | main | Стартовая |
Каталог товаров | catalog | Каталог |
Раздел каталога | catalog_group | Раздел в каталоге |
Товар | catalog_item | Один товар |
Новости | news_all | Все новости |
Новость | news_one | Одна новость |
Наши работы | portfolio_all | Всё портфолио |
Работа | portfolio_one | Одна работа в портфолио |
Текст | textpage | Для текстовых страниц |
Контакты | contacts | Контакты |
Сделайте шаблоны и сравните результаты с моими. А чекбокс "Создать файл шаблона при сохранении" не забыли?
Разумеется, вы вполне можете называть шаблоны так, как вам захочется. Это же справедливо и для поля "описание". А вот с псевдонимом я бы воздержался от дефисов и спецсимволов - могут возникнуть проблемы.
Важно:
Псевдоним в шаблоне не имеет никакого отношения к URL. Это именно англоязычное название для шаблона, которое нам понадобится впоследствие.
Теперь пришло время создать черновую структуру сайта в админке. Слева в дереве вы уже видите первую страницу. Зайдите в редактирование и смените ей шаблон на "Главная страница".
Поизучайте поля. Переименуйте"Заголовок" в "Главная". Поле "Расширенный заголовок" и поле "Пункт меню" очистите. Сохраните страницу.
Важно:
Поле "псевдоним" в ресурсах имеет самое прямое отношение к УРЛ. Это как раз и есть ЧПУ вашей страницы. По умолчанию генерируется автоматически, путём транслитерации заголовка.
Теперь сделаем структуру сайта. Это будущие страницы, которые мы наполним контентом и будем показывать пользователям.
Какая структура сайта нам нужна?
Давайте "сольём" таблицу и схему в одно:
- Главная страница (шаблон "Главная страница", псевдоним любой)
- Каталог (шаблон "Каталог товаров", псевдоним catalog)
- Раздел каталога (шаблон "Раздел каталога", псевдоним любой)
- Товар (шаблон "Товар", псевдоним любой)
- ...
- Товар
- Ещё раздел каталога (шаблон "Раздел каталога", псевдоним любой)
- Товар
- ...
- Товар
- ...
- Новости (шаблон "Новости", псевдоним news)
- Новость (шаблон "Новость", псевдоним любой)
- ...
- Новость
- Наши работы (шаблон "Наши работы", псевдоним portfolio_all)
- Страница работы (шаблон "Работа", псевдоним любой)
- ...
- Ещё страницы работ
- О компании (шаблон "Текст", псевдоним about)
- Контакты (шаблон "Контакты", псевдоним contacts)
Слева сверху найдите иконку "Новый ресурс" и, используя её, добавьте новый ресурс. Шаблоны выбирайте, исходя из схемы выше.
Названия разделов каталога, новостей и товаров вы можете придумать на ходу. Как и их количество - я сделаю пяток новостей, десять товаров и два-три раздела.
Для создания вложенных ресурсов (типа новостей) нажмите на правую кнопку мыши на родительском ресурсе и в меню выберите "Дочерний ресурс".
Для новостей и работ не обязательно указывать псевдоним, пусть Evolution генерирует его сама. Мы указали псевдонимы только для важных сущностей, таких так общая страница каталога, страница контактов.
Также я снимаю чекбокс "Показывать в меню"
у новостей, работ и товаров - ни к чему отображать в менюшках сотню-другую элементов.
Давайте сравним, что получилось у меня и у вас:
Откройте любой товар для редактирования и найдите сверху кнопку "Просмотр". Нажмите её и обратите внимание, по какому адресу открылся документ.
http://evocompany.localhost/catalog/any/korobka-dlya-gaek
Evolution CMS сгеренировала адрес, отталкиваясь от расположения ресурса.
Товар лежит в папке "Разное", которая имеет псевдоним any
. Ещё выше раздел каталога "Каталог" с псевдонимом catalog
.
Сам товар имеет псевдоним (у меня) korobka-dlya-gaek
. Система сделала урл-адрес, основываясь на структуре сайта /catalog/any/korobka-dlya-gaek
.
Важно:
Делаем вывод: структура важна не только для того, чтобы администратор сайта знал, где что лежит, но и для формирования адресов сайта.
- Созданы нужные шаблоны
- Создана структура сайта внутри админ-панели
- Снаружи пока без изменений - сайт пустой
Отлично. Теперь пора разобраться с ТВ-параметрами: добавить Новостям картинки, товарам цены, сеошные теги и разные мелочи. Переходите к уроку про ТВ-параметры.