Skip to content

Latest commit

 

History

History
189 lines (127 loc) · 11.6 KB

004_Структура сайта и шаблоны.md

File metadata and controls

189 lines (127 loc) · 11.6 KB

Структура сайта и шаблоны в Evolution CMS

Оглавление

Введение

Шаблонам в Evolution CMS уделяется очень внимания. Я бы назвал шаблон единицей смысла, структуры и дизайна.

За что отвечает шаблон?

  • внешний вид страницы
  • тип отдаваемого содержимого (html, xml, другое)
  • дополнительные поля страницы
  • имя класса контроллера для выдачи данных

Если проводить аналогии с другими cms, то ближайший аналог в Drupal - "тип материала", в WordPress - "тип контента" (посты,страницы).

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

Пример: Для шаблона "Новость" будет логичным задать дополнительный параметр типа изображение "Изображение новости". Для шаблона "Товар" не помешает текстовый параметр "Цена товара" и так далее.

Создаём шаблоны

Создадим шаблоны, которые потребуются нам на этом этапе.

А как создать шаблон?

Заходим в "Элементы"-"Шаблоны" и создаём новый шаблон.

Шаблоны

Обратите внимание на поля "псевдоним" и чекбокс "Создать файл шаблона при сохранении". Заполняйте псевдоним и ставьте чекбокс. Это обязательно будет нужно в дальнейшем.

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

Наши шаблоны

Чтобы создать шаблоны, необходимо представить структуру сайта. Наш сайт будет иметь вот такую струкутуру. Если мы сейчас что-то забыли - не беда, главное представлять себе общий смысл сайта.

- Главная страница
- Каталог
  - Раздел каталога
    - Товар
    - ...
    - Товар
  - Ещё раздел каталога
    - Товар
    - ...
    - Товар
  - ...
- Новости
  - Новость
  - ...
  - Новость
- Наши работы
  - Страница работы
  - ...
  - Ещё страницы работ
- О компании
-  Контакты

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

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

Имя Псевдоним Описание
Главная страница main Стартовая
Каталог товаров catalog Каталог
Раздел каталога catalog_group Раздел в каталоге
Товар catalog_item Один товар
Новости news_all Все новости
Новость news_one Одна новость
Наши работы portfolio_all Всё портфолио
Работа portfolio_one Одна работа в портфолио
Текст textpage Для текстовых страниц
Контакты contacts Контакты

Сделайте шаблоны и сравните результаты с моими. А чекбокс "Создать файл шаблона при сохранении" не забыли?

created templates

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

Важно:

Псевдоним в шаблоне не имеет никакого отношения к URL. Это именно англоязычное название для шаблона, которое нам понадобится впоследствие.

Создаём структуру сайта

Теперь пришло время создать черновую структуру сайта в админке. Слева в дереве вы уже видите первую страницу. Зайдите в редактирование и смените ей шаблон на "Главная страница".

edit page

Поизучайте поля. Переименуйте"Заголовок" в "Главная". Поле "Расширенный заголовок" и поле "Пункт меню" очистите. Сохраните страницу.

Важно:

Поле "псевдоним" в ресурсах имеет самое прямое отношение к УРЛ. Это как раз и есть ЧПУ вашей страницы. По умолчанию генерируется автоматически, путём транслитерации заголовка.

Теперь сделаем структуру сайта. Это будущие страницы, которые мы наполним контентом и будем показывать пользователям.

Какая структура сайта нам нужна?

Давайте "сольём" таблицу и схему в одно:

- Главная страница (шаблон "Главная страница", псевдоним любой)
- Каталог  (шаблон "Каталог товаров", псевдоним catalog)
  - Раздел каталога (шаблон "Раздел каталога", псевдоним любой)
    - Товар (шаблон "Товар", псевдоним любой)
    - ...
    - Товар
  - Ещё раздел каталога  (шаблон "Раздел каталога", псевдоним любой)
    - Товар
    - ...
    - Товар
  - ...
- Новости (шаблон "Новости", псевдоним news)
  - Новость (шаблон "Новость", псевдоним любой)
  - ...
  - Новость
- Наши работы (шаблон "Наши работы", псевдоним portfolio_all)
  - Страница работы (шаблон "Работа", псевдоним любой)
  - ...
  - Ещё страницы работ
- О компании (шаблон "Текст", псевдоним about)
-  Контакты (шаблон "Контакты", псевдоним contacts)

Слева сверху найдите иконку "Новый ресурс" и, используя её, добавьте новый ресурс. Шаблоны выбирайте, исходя из схемы выше.

create resource

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

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

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

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

Давайте сравним, что получилось у меня и у вас:

structure

Зависимость URL от структуры

Откройте любой товар для редактирования и найдите сверху кнопку "Просмотр". Нажмите её и обратите внимание, по какому адресу открылся документ.

http://evocompany.localhost/catalog/any/korobka-dlya-gaek

Evolution CMS сгеренировала адрес, отталкиваясь от расположения ресурса. Товар лежит в папке "Разное", которая имеет псевдоним any. Ещё выше раздел каталога "Каталог" с псевдонимом catalog. Сам товар имеет псевдоним (у меня) korobka-dlya-gaek. Система сделала урл-адрес, основываясь на структуре сайта /catalog/any/korobka-dlya-gaek.

url

Важно:

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

Итого

  • Созданы нужные шаблоны
  • Создана структура сайта внутри админ-панели
  • Снаружи пока без изменений - сайт пустой

Отлично. Теперь пора разобраться с ТВ-параметрами: добавить Новостям картинки, товарам цены, сеошные теги и разные мелочи. Переходите к уроку про ТВ-параметры.