Страницы сайта

Модуль «Страницы сайта» – основной механизм управления сайтом.

Модуль относится к части CMS «Контент» и является обязательным для установки.

Подключение

Подключение страниц сайта используется в первую очередь для получение данных о текущей странице.

Подключаемая часть – файл modules/site/site.inc.php. В нем описан класс Site_inc. В модуле к объекту класса можно обратиться через переменную $this->diafan->_site. Экземпляр класса создается при первом вызове переменной.

Свойства

var id – номер текущей страницы, уникальный идентификатор каждой страницы сайта.

Пример:

$this->diafan->_site->id;

var name – название текущей страницы.

Пример:

$this->diafan->_site->name;

var keywords – данные из meta-тега keywords текущей страницы.

Пример:

$this->diafan->_site->keywords;

var descr – данные из meta-тега description текущей страницы.

Пример:

$this->diafan->_site->descr;

var parent_id – номер страницы родителя.

Пример:

$this->diafan->_site->parent_id;

var title_no_show – не показывать заголовок h1 текущей страницы, да/нет (1/0).

Пример:

$this->diafan->_site->title_no_show;

var noindex – не индексировать текущую страницу, да/нет (1/0).

Пример:

$this->diafan->_site->noindex;

var title_meta – заголовок текущей страницы из тега title.

Пример:

$this->diafan->_site->title_meta;

var canonical – канонический тег для текущей страницы.

Пример:

$this->diafan->_site->canonical;

var timeedit – время редактирования текущей страницы, в UNIX-формате.

Пример:

$this->diafan->_site->timeedit;

var theme – имя файла шаблона дизайна текущей страницы.

Пример:

$this->diafan->_site->theme;

var js – JavaScript-код.

Пример:

$this->diafan->_site->js;

var module – модуль, прикрепленный к текущей странице.

Пример:

$this->diafan->_site->module;

var text – контент текущей страницы.

Пример:

$this->diafan->_site->text;

var rewrite – ЧПУ текущей страницы, для страницы http://site.ru/news/popular/novost/ в переменной будет "news/popular/novost".

Пример:

$this->diafan->_site->rewrite;

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

var breadcrumb – часть навигации «Хлебные крошки».

Пример:

$this->diafan->_site->breadcrumb;

var titlemodule – заголовок страницы, сформированный автоматически прикрепленным модулем.

Пример:

$this->diafan->_site->titlemodule;

var titlemodule_meta – заголовок текущей страницы для тега title, сформированный прикрепленным модулем.

Пример:

$this->diafan->_site->titlemodule_meta;

var hide_previous_next – спрятать ссылки на предыдущую, последующую страницы, да/нет (1/0).

Пример:

$this->diafan->_site->hide_previous_next;

var deactivate = false – (boolean|integer) страница скрыта для всех.

var css_view = array() – CSS-файлы, подключаемые в модулях.

var js_view = array() – JS-скрипты, подключемые в модулях.

Пример:

// добавляем JS-файл для подключения в конце страницы
$this->diafan->_site->js_view[] = 'modules/search/js/search.show_search.js';

Кроме этих свойств с помощью служебной функции __get() можно задать любое свойство страницы и затем его использовать.

var js_code = array() – JS-код, определяемый в модулях.

var nocache = false – страница не кэшируется при включенном экстремальном кэшировании.

var nozip = false – сжатие данных.

Методы

void set () – Определяет страницу сайта, задает параметры страницы.

Пример:

// в файле includes/init.php
$this->_site->set();

Административная часть

Список страниц

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

Пример:

Если в структуре сайта есть страница «Наши новости», то нажатие на её название приведет к редактированию этой страницы. А если к странице «Наши новости» прикрепить модуль «Новости», то нажатие приведет к списку новостей из модуля «Новости». Отредактировать же страницу «Наши новости» можно нажав на «(изменить)» рядом с заголовком перед списком новостей.

Для редактирования страницы необходимо нажать на нее.

Дополнительные параметры располагаются во всплывающем блоке справа.

Редактирование страницы

Страница сайта имеет следующие характеристики.

Блоки на сайте

Список блоков

Блок на сайте – это контент, который может быть выведен шаблонным тегом show_block в любом месте шаблона.

Редактирование блока

Динамические блоки

Список динамических блоков

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

Редактирование содержания динамического блока в новости

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

Редактирование динамического блока

Настройки

Настройки

Шаблонные теги

Для работы с модулем «Страницы сайта» служат следующие шаблонные теги:

show_block – выводит содержимое блока на сайте, номер которой передан в виде атрибута id.

Атрибуты:

id – идентификатор блока;

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_block_template.php; по умолчанию шаблон modules/site/views/site.view.show_block.php).

Пример:

<insert name="show_block" module="site" id="7">

выведет в ячейке таблицы содержимое страницы с id=7, редактируемой в модуле «Страницы сайта»

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_comments – выводит комментарии, прикрепленные к странице сайта, если в конфигурации модуля «Страницы сайты» подключены комментарии.

Атрибуты:

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_comments_template.php; по умолчанию шаблон modules/site/views/site.view.show_comments.php).

Пример:

<insert name="show_comments" module="site">

выведет форму для отправки комментариев и добавленные комментарии посетителей

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_dynamic – выводит содержимое динамического блока, номер которой передан в виде атрибута id.

Атрибуты:

id – идентификатор динамического блока;

element_id – номер элемента, для которого будет выведено значение блока, по умолчанию текущий элемент;

module_name – модуль элемента, для которого будет выведено значение блока, по умолчанию текущий модуль;

element_type – тип элемента, для которого будет выведено значение блока, по умолчанию тип текущего элемента;

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_dynamic_template.php; по умолчанию шаблон modules/site/views/site.view.show_dynamic.php).

Пример:

<insert name="show_dynamic" module="site">

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_images – выводит изображения, прикрепленные к странице сайта, если в конфигурации модуля «Страницы сайта» включен параметры «Использовать изображения».

Атрибуты:

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_images_template.php; по умолчанию шаблон modules/site/views/site.view.show_images.php).

Пример:

<insert name="show_images" module="site">

выведет группу фотографий, прикрепленных к текущей странице

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_links – выводит ссылки на страницы нижнего уровня, принадлежащие текущей странице.

Атрибуты:

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_links_template.php; по умолчанию шаблон modules/site/views/site.view.show_links.php).

Пример:

<insert name="show_links" module="site">

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_previous_next – выводит ссылки на предыдущую и последующую страницы.

Атрибуты:

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_previous_next_template.php; по умолчанию шаблон modules/site/views/site.view.show_previous_next.php).

Пример:

<insert name="show_previous_next" module="site">

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_tags – выводит теги (слова-якори), прикрепленные к странице сайта, если в конфигурации модуля «Страницы сайты» подключены теги.

Атрибуты:

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_tags_template.php; по умолчанию шаблон modules/site/views/site.view.show_tags.php).

Пример:

<insert name="show_tags" module="site">

выведет список ссылок на теги, прикрепленные к текущей страние

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

show_theme – выводит настройку шаблона.

Атрибуты:

tag – название настройки из файла modules/site/admin/site.admin.theme.custom.php;

useradmin – подключить быстрое редактирование: true (по умолчанию) – подключить, false – отключить;

defer – маркер отложенной загрузки шаблонного тега: event – загрузка контента только по желанию пользователя при нажатии кнопки "Загрузить", emergence – загрузка контента только при появлении в окне браузера клиента, async – асинхронная (одновременная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, sync – синхронная (последовательная) загрузка контента совместно с контентом шаблонных тегов с тем же маркером, по умолчанию отложенная загрузка не используется, обычный вывод шаблонных тегов в коде страницы;

defer_title – текстовая строка, выводимая на месте появления загружаемого контента с помощью отложенной загрузки шаблонного тега;

template – шаблон тега (файл modules/site/views/site.view.show_theme_template.php; по умолчанию шаблон modules/site/views/site.view.show_theme.php).

Пример:

<insert name="show_theme" module="site">

В шаблоне тега можно получить значение любого атрибута через переменную $result["attributes"]["название атрибута"].

База данных

{site} – Страницы сайта

{site_blocks} – Блоки на сайте

{site_blocks_site_rel} – Данные о том, на каких страницах выводятся блоки на сайте

{site_dynamic} – Динамические блоки

{site_dynamic_element} – Контент динамических блоков, заполенный в элементах модулей

{site_dynamic_module} – Данные о том, в каких модулях заполняются динамические блоки

{site_parents} – Родительские связи страниц сайта

{site_theme} – Настройки шаблона

Файлы

  1. modules/site/admin/site.admin.php – редактирование страниц сайта;

  2. modules/site/admin/site.admin.blocks.php – редактирование блоков на сайте;

  3. modules/site/admin/site.admin.config.php – настройки модуля;

  4. modules/site/admin/site.admin.dynamic.php – редактирование динамических блоков на сайте;

  5. modules/site/admin/site.admin.inc.php – подключение модуля к административной части других модулей;

  6. modules/site/admin/site.admin.theme.php – редактирование настроек шаблона сайта;

  7. modules/site/admin/site.admin.theme_custom.php – настройки шаблона сайта;

  8. modules/site/site.php – контроллер;

  9. modules/site/site.inc.php – подключение модуля;

  10. modules/site/site.install.php – установка модуля;

  11. modules/site/site.model.php – модель;

  12. modules/site/site.post.php – @package DIAFAN.CMS;

  13. modules/site/site.search.php – настройки для поисковой индексации для модуля «Поиск»;

  14. modules/site/site.sitemap.php – карта ссылок для модуля «Карта сайта»;

  15. modules/site/views/m/site.view.show_links.php – шаблон вложенных страниц сайта;

  16. modules/site/views/site.view.show_block.php – шаблон блока на сайте;

  17. modules/site/views/site.view.show_comments.php – шаблон комментариев к странице сайта;

  18. modules/site/views/site.view.show_dynamic.php – шаблон динамического блока;

  19. modules/site/views/site.view.show_images.php – шаблон изображений к странице сайта;

  20. modules/site/views/site.view.show_links.php – шаблон вложенных страниц сайта;

  21. modules/site/views/site.view.show_previous_next.php – шаблон ссылок на предыдущую и следующую страницы сайта;

  22. modules/site/views/site.view.show_tags.php – шаблон тегов к странице сайта;

  23. modules/site/views/site.view.show_theme.php – шаблон вывода настроек шаблона;

  24. modules/site/views/site.view.show_theme_logo.php – шаблон вывода настроек шаблона;

  25. modules/site/views/site.view.show_theme_only_phone.php – шаблон вывода настроек шаблона.

Ваши комментарии и дополнения
17 августа 2016 г.
На странице 35 блоков, необходимо дать клиенту менять их порядок. В таблице динамических блоков есть "сортировка", как мне привязать ее в шаблон?
18 августа 2016 г.
Блоки на сайте выводяться только по id. Если id не указан, то ничего не выведеться. Если Вам нужно блоки списком выводить, то придется дорабатывать шаблонный тег show_block.
25 января 2017 г.
Возможно вывести группу блоков в одной строчке кода, на типо массива?
т.е. <insert name="show_block" module="site" id="[id1, id2,..,idn]">
или же подобную схему можно реализовать только написав для этого свою функцию?

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