Справка

Делаем простую CMS

Для этого примера мы берём "пустой" вариант системы без предустановленных модулей, но с компонентами.


В примере у нас имеются две зоны - backend (админка) и frontend (сам сайт).



На Frontend мы повесим наш новый модуль, но для начала необходимо перейти в раздел модулей и создать его.



Так выглядит наш новый модуль.



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



Присоединяем модуль нашему Frontend-у



Проверяем работу в браузере



Вернёмся к нашему модулю и добавим таблицу "Страницы". Для этого используем соответствующий шаблон.



Теперь зайдём в новую таблицу и создадим пару страниц



Возвращаемся обратно к модулю, удаляем пробную часть "Главная страница" и добавляем вместо неё часть, связанную с таблицей страницы



Пишем в ней простую разметку (заголовок и текст) и открываем вставку значения. Выбираем текущий объект и жмём "Далее".



Выбираем нужное поле текущего объекта (вначале нам нужен заголовок) и вставляем его



Таким же образом вставляем содержимое страницы и обрамляем квадратными скобками (лучше вставлять обрамление перед вставкой). Вот что у нас получилось.



Проверяем обе страницы. Работают.

Добавляем шаблоны дизайна

Добавим поддержку шаблонов дизайна. Для этого добавим типовую таблицу "Шаблоны".



Добавим в первый шаблон содержимое части "Страницы".



Затем добавим переменную модуля "Шаблон" для определения основного шаблона, свяжем её с нашей таблицей шаблонов.



В настройках раздела укажем наш пробный шаблон



Теперь вернёмся в нашу часть "Страницы", удалим всё содержимое, и в диалоге вставки значения поочерёдно выберем следующие команды:

  1. Текущий экземпляр модуля
  2. Переменные
  3. Шаблон
  4. Поле "Шаблон"
  5. Работа с шаблонами
  6. Исполнить как шаблон

Вот что у нас выйдет



Нашу простенькую CMS можно считать завершённой. У нас есть backend, позволяющий работать с материалами (страницами и шаблонами) и frontend выводящий страницы пользователю по нужному URL (с учётом вложенности).

На получившейся системе можно сделать несколько сайтов (каждый сайт - экземпляр данного модуля) у которых будут разные страницы, но общие шаблоны.

О том, как с помощью плагинов системы можно быстро сделать шаблон, смотрите здесь.

Что ещё можно сделать

Можно добавить поле "Шаблон" для каждой отдельной страницы. Соответственно в части "Страница" мы напишем:

[if cow.tpl]
    [cow.tpl.body.shell]
[else]
    [cex.param.tpl.shell]
[/if]

Т.е. если у страницы указан свой шаблон - выполнять его, иначе - выполнять общий шаблон сайта



Читать далее про "Делаем прайс-лист"