Данное руководство создано для «сборщиков» сайтов. Здесь, под сборщиками сайта мы подразумеваем тех людей, которые настраивают сайт и его модули таким образом, что бы это отвечало конечным требованиям владельцев (заказчиков) сайта.
Если вы только начинаете (или планируете) использовать систему управления контентом SantaFox™ для своего сайта, настоятельно рекомендуем ознакомиться с данным руководством. Во всех остальных случаях его изучение не обязательно.
В данном руководстве содержится описание модулей, доступных для сайта, работающего под управлением SantaFox™.
Здесь описываются функциональные возможности модуля и его особенности, а так же задачи, которые решает модуль. Всё это очень важно именно на этапе сборки (разработки) сайта.
Данное руководство не содержит информации об административных разделах модуля и описания работы с ними. Если вам необходима данная информация вы можете обратиться к «Руководству по управлению модулями».
Так же, в данном руководстве не рассматриваются вопросы архитектуры модулей, если вам необходима подробная информация по этому вопросу, то следует обратиться к «Руководству по архитектуре»
Задача данного руководства – познакомить вас со всеми модулями SantaFox™, с тем, что бы вы могли в полной мере использовать все возможности модуля для реализации поставленных перед сайтом задач.
В конце вы сможете найти общий (сводный) перечень по всем органам настройки модуля.
Перед тем, как знакомиться непосредственно с настройками каждого модуля, давайте рассмотрим, а что собственно необходимо будет настраивать у модуля. Для того, что бы модуль работал под управлением SantaFox™ необходимо сделать следующее:
Приведенный список лишь показывает те действий, которые необходимо будет сделать, их порядок вы определяет самостоятельно.
Для описания процесса инсталляции модуля необходимо обратиться к «Руководству администратора», раздел «Закладка модули». Здесь мы только отметим, что после инсталляции модуля будет создан как минимум базовый экземпляр модуля. К которому вам необходимо создать необходимое количество дочерних модулей (как минимум необходим один дочерний модуль).
В процессе инсталляции модуля могут быть сразу созданы экземпляры дочерних модулей с предустановленными параметрами. После инсталляции, вы можете отредактировать созданные дочерние модули и (или) их действия, а также полностью удалить эти дочерни модули и (или) их действия, для создания собственных.
Установка свойств модуля не требует каких-то специальных навыков или раздумий. Единственное что требуется, это выбрать одно из возможных значений для каждого свойства. В руководстве администратора описан процесс настройки свойств модуля, и он не должен вызвать больших затруднений.
Следует помнить, что по умолчанию, значение свойства наследуется от базового модуля, и в случае если используется несколько дочерних модулей, необходимо переопределить значение свойства у конкретного дочернего модуля.
Некоторые модули могут прописывать свойства к каждой странице сайта. Задание значений этих свойств так же не должно вызывать затруднений. Как и в случае со свойствами модуля, значения свойств модуля к странице наследуются от родительской страницы, и вам достаточно задать значения по умолчанию у главной страницы сайта, и только в случае необходимости менять эти значения уже у конкретных страниц.
Любой модуль использует для своей работы шаблоны, которые определяют то, как будет выведен контент, обрабатываемый конкретным модулем. Файлы шаблонов модуля расположены в каталоге модуля в папке «templates_user». Файлы шаблонов должны иметь расширение «html» или «htm».
Для дальнейшего обсуждения, понимания и тем более работы с шаблонами модулей нам потребуется два важных понятия: блок и переменная.
![]() |
Рис. 1: Схема обработки блоков и построения из них результирующего контента по данным, обрабатываем модулем. |
Рассмотрим понятие блока сразу на примере. Допустим, есть модуль, отвечающий за ведение базы данных участников группы вечерних занятий. Данный модуль имеет административный интерфейс, где для каждого участника указываются следующие значения:
На страницах сайта данный модуль должен представить свой контент в табличном виде, что бы участники занятий смогли контролировать своё посещение. Для того, что бы отобразить такой контент, необходимо вывести заголовок таблицы (блок начала), затем какое-то количество строк (блок строки) и подвал (блок окончания) (Рис. 1).
Блоки как раз и определяют то, как будет выглядеть каждая из этих трёх частей. На Рис. 1 представлена схема того, как из блоков модуля будет формироваться итоговая таблица с контентом. Пунктирной линией здесь показан тот результирующий контент, который будет сформирован модулем после обработки данных и вывода их с помощью такого шаблона. Это достаточно простой пример, однако он наглядно демонстрирует, для чего нужны блоки.
Как вы наверное уже догадались, внутри блока будет содержаться HTML код оформляющий данный контент. В нашем случае в «блоке начала» будут теги открывающие таблицу, а в «блоке окончания» будут теги, закрывающие таблицу. Ну и в «блок строки» будет содержать тэги начала и конца строки.
Следует особо отметить, что вы можете управлять только содержимым блоков. Количество блоков и порядок их обработки (соединения) заложен в модуль и не может быть изменён средствами SantaFox™.
Объявление блока имеет следующий синтаксис:
<!-- @<имя блока> -->
<тело блока>
Концом блока служит начало заголовка следующего блока или конец файла шаблона. Не смотря на то, что блоки строго определены модулем, вы можете создавать собственные блоки с тем, что бы отделить создать «невидимые блоки», то есть те, которые не попадут в результирующий контент. Для нашего примера, синтаксис блоков будет следующим:
<!-- @begin -->
<table border="0">
<tr>
<th>№</th>
<th>ФИО</th>
<th>Дата рождения</th>
<th>Кол-во занятий</th>
</tr>
<!-- @string -->
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<!-- @end -->
</table>
Теперь должен возникнуть закономерный вопрос. Ведь блок, используемый для вывода строк должен выводить разные строки, то есть строки с разными данными, но при этом, форматирование строк остаётся неизменным. Здесь и выходят на сцену переменные, которые заменяются теми или иными значениями. В нашем случае, модуль будет использовать четыре переменные:
Возвращаясь к нашему примеру и Рис. 1, мы можем сказать, что каждый раз, при обработке «блока строки», переменные, используемые в этом блоке, будут заменены на значения, соответствующие обрабатываемой в данный момент записи базы данных модуля.
Следует отметить, что каждый блок имеет свой определённый набор переменных, которые заменяются определёнными значениями. Вы может по-разному комбинировать имеющиеся в блоке переменные, но не добавлять новые переменные.
Переменная имеет достаточно просто синтаксис:
Если вернуться к нашему примеру, то итоговый файл шаблона будет выглядеть следующим образом:
<!-- @begin -->
<table border="0">
<tr>
<th>№</th>
<th>ФИО</th>
<th>Дата рождения</th>
<th>Кол-во занятий</th>
</tr>
<!-- @string -->
<tr>
<td>%number%</td>
<td>%fname%, %lname%</td>
<td>%bdate%</td>
<td>%cemployment%</td>
</tr>
<!-- @end -->
</table>
Рассмотренный нами пример является достаточно простым и в нём все значения переменных заменяются простыми строками, которые подставляются непосредственно в результирующий контент.
В более сложных модуля значениями переменных могут быть ссылки, которые необходимо помещать в свойства «HREF» тега «<A>», или же ещё более сложными конструкциями. В любом случае, в описании модуля всегда указан весь перечень используемых переменных, а также те значения, которые могут быть возвращены переменной. Кроме того, в сложных модулях значения переменной может быть взято из того или иного блока, в соответствии с каким то условием.
Для того, что бы наглядно продемонстрировать это, немного усложним наш модуль. Добавим ещё одно поле, которое администратор может указать у участника занятий, а именно – фотографию участника. Тогда шаблон модуля примет следующий вид:
<!-- @begin -->
<table border="0">
<tr>
<th>№</th>
<th>Фото</th>
<th>ФИО</th>
<th>Дата рождения</th>
<th>Кол-во занятий</th>
</tr>
<!-- @string -->
<tr>
<td>%number%</td>
<td><img src="%foto%" width="75" height="100" border="0" /></td>
<td>%fname%, %lname%</td>
<td>%bdate%</td>
<td>%cemployment%</td>
</tr>
<!-- @end -->
</table>
Как видите, мы добавили ещё одну колонку в шаблон для новой переменной «foto», данная переменная будет заменена ссылкой на файл изображения и потому, она вставлена непосредственно в свойство «SRC» тэга «IMG».
Однако, если у кого-то из участников не окажется фотографии, то в этой строке картинка не будет отображена, так как свойство «SRC» тэга «IMG» будет пустым. Для того что бы избежать такого поворота событий модуль должен по другому обрабатывать переменную «foto» и добавить два новых блока.
<!-- @begin -->
<table border="0">
<tr>
<th>№</th>
<th>Фото</th>
<th>ФИО</th>
<th>Дата рождения</th>
<th>Кол-во занятий</th>
</tr>
<!-- @string -->
<tr>
<td>%number%</td>
<td>%foto%</td>
<td>%fname%, %lname%</td>
<td>%bdate%</td>
<td>%cemployment%</td>
</tr>
<!-- @end -->
</table>
<!-- @foto -->
<img src="%foto%" width="75" height="100" border="0" />
<!-- @no_foto -->
<img src="/images/person-no.jpg" width="75" height="100" border="0" />
Теперь, в качестве значения переменной «foto» будет выступать контент блока «foto» или блока «no_foto», в зависимости от того, есть у данной строчки записи базы данных модуля фотография или нет.
Таким образом, образом мы можем выделить «прямые переменные», которые сразу заменяются значениями и «переменные-блоки», значения которых заменяются другими блоками. В дальнейшем, для удобства, при описании блоков и переменных мы будем разделять два этих типа переменных.
В некоторых модулях могут быть использованы уровни блоков. Особенно актуально это для модуля «Меню», «Дороги» и «Карты сайта», во всех тех модулях, где работа идёт со иерархически структурированными данными (в данном случае мы говорим о структуре сайта, но это могут быть и любые другие данные, к примеру, структура интернет-магазиан).
Отображения таких данных требует того, что бы одни и те же блоки, но выводимые для разных уровней, выглядели по-разному. Для того, что бы показать, что блок имеет несколько уровней необходимо использовать вспомогательный блок «<!-- @@nextlevel -->». Пример такого шаблона приведён ниже:
<!-- @link -->
<a class="ext_menu" href="%link%">%text%</a><br>
<!-- @@nextlevel -->
<a class="ext_menu" href="%link%">%text%</a><br>
<!-- @@nextlevel -->
<a class="ext_menu" href="%link%">%text%</a><br>
Как видите, в данном примере объявлен блок «@link», после которого следует два блока «@@nextlevel», которые определяют то, как будет выглядеть блок «@link» на втором и третьем уровнях соответственно (в данном случае всё различие сводится к разному количеству символов «пробела» перед ссылкой).
Если вы не выделяете у блока разные уровни, но модулем уровни используются, то для всех уровней, которые в шаблоне не описаны, будет использован последний описанный уровень. В данном примере, для вывода блока «@link» четвёртого и последующих уровней будет использован блок, объявленный в последнем «@@nextlevel».
Все приведённые выше рассуждения используются только с той целью, что бы дать понять назначения блоков и меток, а также их взаимосвязи.
При сборке модулей и вёрстке шаблонов вы будете оперировать уже существующими блоками, метками и правилами их взаимодействия, которые описаны в данном руководстве для каждого из модулей. Ваша задача будет заключаться в том, что бы отредактировать шаблон, и добавить в него нужный HTML код (или код JavaScript), придающий выводимой модулем информации требуемый вид.
Самый важный этап – создание действий, которые выводят контент, обрабатываемый модулем, для посетителя сайта.
Создавая действия, вы определяете его параметры, которые влияют на выводимый контент. Для каждого модуля будут перечислены возможные действия, а так же приведены возможные параметры с описанием того, как они влияют на формирование контента данным действием модуля.
Когда действие создано, необходимо назначить его конкретной метке в шаблоне страницы сайта. Следует помнить (и использовать) то свойство, что привязка действий к метке наследуется для от родительской страницы.
Если вам необходима более подробная информация о привязке действий к меткам, следует обратиться к «Руководству администратора».
Модуль «Меню» предназначен для реализации всего одной функции, а именно построения меню сайта, для того что бы пользователи сайта могли осуществлять по нему (по сайту) навигацию.
Меню сайта строится из структуры сайта и может быть представлено как в виде простой линейной навигации, так и более сложной – древовидной.
Модуль не имеет свойств.
Варианты значения |
Описание |
|
|---|---|---|
Видимость страницы |
«Отображать» или «Не отображать» |
С помощью этого свойства вы может скрыть необходимые страницы (или разделы) из меню сайта. Для этого соответственно необходимо в качестве значения выбрать «Не отображать». Для того, что бы по умолчанию все страницы попадали в меню, рекомендуем у главной страницы сайта установить значение этого в свойства в «Отображать». |
В Таб. 1 представлено единственное свойство к странице, используемое модулем «Меню» Не забывайте устанавливать значение данного свойства, так как в случае если оно у страницы не определено, то страница не попадёт в сформированное меню.
Модуль «Меню» может строить два разных типа меню, а именно «статическое меню» и «динамическое меню». Совокупность двух методов построение контента позволит реализовать 99% вариантов меню вашего сайта.
Перед тем как рассмотреть эти два действия, давайте поставим задачу, которую надо решить с помощью модуля меню, с тем, что бы на конкретном примере увидеть, различия двух действий.
Для этого, предположим, что на момент сборки сайта у нас имеется следующая структура представленная на Рис 2. Каждый блок, соответствует определённой странице сайта. Для каждой страницы указано её название и уникальный идентификатор (в скобках).
![]() |
Рис. 2: Структура сайта, представленная в виде схемы. Разными цветами представлены страницы, относящиеся к разным уровням. |
Теперь, исходя из структуры сайта, перед модулем меню стоят следующие задачи:
Теперь рассмотрим в отдельности каждое действие, их сразу приведём варианты его использования для поставленной задачи.
Особенность данного метода состоит в том, что формируемое с помощью него меню будет всегда доступно для пользователя сайта. Количество выводимых страниц и их взаиморасположение ни как не будут зависеть от того, на какой сейчас странице находится пользователь.
Такое меню строится для разделов структуры, которые всегда должны быть доступны пользователю сайта, например это может быть навигация по языкам сайта, или навигация по основному меню сайта.
Как вы, наверное, уже поняли, данное действие идеально подходит для выполнения задачи по выводу меню быстрого доступа. Рассмотрим параметры, которые необходимо указать при создании действия по формированию статического меню:
Название параметра действия |
Варианты значений |
Описание |
|---|---|---|
Страница начала построения |
Выбирается конкретная страница сайта с помощью визуальных средств. Так же, значение идентификатора страницы может быть введено вручную |
Необходимо указать, от какой страницы в структуре сайта будет происходить построение меню. В меню попадут все страницы, которые являются дочерними для выбранной. |
Количество выводимых уровней |
Число от 1 до 6 |
Определяет количество уровней в структуре, которые будут отображены при построении меню. Уровни считаются от уровня выбранной страницы построения. |
Шаблон |
Выбирается один из списка доступных шаблонов. |
Указанный шаблон будет использоваться для формирования визуального представления меню. |
Название параметра действия |
Варианты значений |
|---|---|
Страница начала построения |
fastpage |
Количество выводимых уровней |
1 |
Шаблон |
static_menu.html |
Таб. 3: Таблица со значением параметров действия для вывода раздела быстрого доступа. |
|
Применяя данное действие для нашей задачи, мы получаем следующие параметры действия, которые представлены. Если расшифровать данные параметры, то получается, что в меню попадут все страницы, которые являются дочерними страницами первого уровня по отношению к странице «Быстрый доступ» (fastpage).
Ещё хочется обратить внимание на то, что меню, построенное таким образом, всегда будет отображаться на сайте (при условии правильного оформлению шаблона и установки параметра модуля к странице), в независимости от того, какая страница сайта из структуры является текущей.
Отличие данного действия в том, что построенное с его помощью меню будет зависеть от того, на какой странице сайта находиться пользователь сайта.
Такое меню используется для большинства задач, в том числе и при разделении меню первого уровня и меню второго уровня (и ниже) в разных областях страницы сайта. В Таб. 4 представлены параметры, которые необходимо использовать при создании данного действия.
Параметр действия |
Варианты значений |
Описание |
|
|---|---|---|---|
Страница начала построения |
Выбирается конкретная страница сайта с помощью визуальных средств. Так же, значение идентификатора может быть введено вручную |
Необходимо указать, от какой страницы в структуре сайта будет происходить построение меню. |
|
Уровень начала построения |
Число от 1 до 6 |
Уровень в структуре сайта (относительно странице начала построения), с которого будет начинаться формирования меню. |
|
Количество выводимых уровней |
Число от 1 до 6 |
Определяет количество уровней в структуре, которые будут отображены при построении меню. Уровни считаются от уровня выбранной страницы построения. |
|
Шаблон |
Выбирается один из списка доступных шаблонов. |
Указанный шаблон будет использоваться для формирования визуального представления меню. |
|
| Название параметра действия | Варианты значений |
|---|---|
Страница начала построения |
rus |
Уровень начала построения |
1 |
Количество выводимых уровней |
2 |
Шаблон |
extended.html |
Таб. 5: Таблица со значением параметров действия для вывода меню сайта. |
|
Для того, что бы построить меню основных разделов и подразделов мы должны задать значения параметров действия, указанные в Таб. 5.
При построении такого меню, подразделы будут выведены подразделы только текущего раздела.
Если разница между двумя действиями вам всё ещё не понятна, обратитесь к следующему разделу документации, или же вы можете самостоятельно поэкспериментировать с модулем меню.
Главное, что необходимо помнить, при использовании «динамического меню», это то, что сформированное таким способом меню зависит от того, на какой страницы сейчас находиться пользователь сайта.
Давайте ещё раз обозначим разницу двух действий модуля «Меню». Для того, что бы визуально разделить два этих действия и ощутить разницу между ними рассмотрим блок схемы со структурой сайта.
На Рис. 3 представлена блок схема структуры гипотетического сайта. Пусть вас не пугает изобилие блоков (страниц). Главное, что из этой схемы необходимо вынести – данная структура представлена страницами тремя уровня. «Основной раздел» – страницы первого уровня, «Раздел» – страницы второго уровня и «Подразделы» – страницы третьего уровня (Рис. 3)
![]() |
Рис. 3: Условная схема сайта со страницами трёх уровней. |
| Название параметра действия | Варианты значений |
|---|---|
Страница начала построения |
Раздел 2.3 |
Количество выводимых уровней |
1 |
Шаблон |
static_menu.html |
Таб. 6: Таблица со значениями параметров действия для формирования статического меню. |
|
Теперь, допустим, необходимо, что бы на сайте постоянно отображались страницы «Подраздел 2.3.1», «Подраздел 2.3.2» и «Подраздел 2.3.3».Для этого используется только действие «постоянное меню». В качестве страницы начала формирования указывается идентификатор страницы «Раздел 2.3», а в качестве выводимых уровней выставляется в значение «1».
Статическое меню не должно вызывать особых сложностей и потому перейдём к формированию динамического меню. Представим, что пользователь сайта находиться на странице «Подраздел 1.3.2», и тогда ему динамическое меню сформирует такое меню, которое показано на Рис. 4. Красным цветом отмечены те страницы, которые будут обрабатываться при построении меню.
![]() |
Рис. 4: Схема страниц сайта, в случае, когда пользователь находится на странице «Подраздел 1.3.2» (оранжевый блок). Красные блоки показывают те страницы, которые попадут в сформированное меню. |
Теперь, допустим, если пользователь решит просмотреть страницу «Раздел 3.1» то сформированное меню примет вид, показанный на Рис. 5.
![]() |
Рис. 5: Схема страниц сайта, в случае, когда пользователь находится на странице «Раздел 3.1» (оранжевый блок). Красные блоки показывают те страницы, которые попадут в сформированное меню. |
| Название параметра действия | Варианты значений |
|---|---|
Страница начала построения |
Главная страница |
Уровень начала построения |
1 |
Количество выводимых уровней |
3 |
Шаблон |
main.html |
Таб. 7: Параметры действия «сформировать динамическое меню», для построения меню разделов всех уровней. |
|
Название параметра действия |
Варианты значений |
|---|---|
Страница начала построения |
Главная страница |
Уровень начала построения |
1 |
Количество выводимых уровней |
1 |
Шаблон |
menu_line.html |
Таб. 8: Параметры действия «сформировать динамическое меню», для построения меню только основных разделов. |
|
Название параметра действия |
Варианты значений |
|---|---|
Страница начала построения |
Главная страница |
Уровень начала построения |
2 |
Количество выводимых уровней |
2 |
Шаблон |
menu_tree.html |
Таб. 9: Параметры действия «сформировать динамическое меню», для построения меню разделов и подразделов для текущего основного раздела. |
|
Как вы можете видеть (Рис. 4 и Рис. 5), пользователю сайта будет сформировано меню без включения «лишних» разделов. Как уже говорилось, такой способ формирования меню используется в большинстве стандартных случаев. А что бы вывести такое меню, необходимо использовать параметры указанные в Таб. 7.
Следует учесть, что используя одно действие (с параметрами указанными в таб. 7) для вывода меню, показанного на Рис. 5, всё меню будет выведено в один блок (в одну область страницы). Довольно часто перед разработчиком встаёт задача вывода основного меню отдельно от меню вложенных разделов. Для того, что бы реализовать эту задачу используются два действия «сформировать динамическое меню», но с разными параметрами.
Первое действие формирует меню основных разделов, для чего используются параметры, указанные в Таб. 8. Вызов такого действия сформирует меню только из основных разделов. Справедливости ради, следует сказать, что в данном случае, для построения меню основных разделов подойдёт и действие «сформировать статическое меню», так как основные разделы сайта ни как не будут меняться при навигации пользователя по структуре, приведённой на рисунках 4 и 5.
Второе действие формирует меню вложенных разделов, которое будет выводиться в другой части страницы, и для его создания необходимо использовать только «сформировать динамическое меню» с параметрами, указанными в Таблице 9.
Ещё необходимо отметить, что внешний вид меню полностью определяется шаблоном, используемым для его построения.
Теперь давайте рассмотрим блоки и переменные, используемые в шаблонах для построения меню. Модуль «меню» может использовать достаточно много блоков. Рекомендуем внимательно ознакомиться с этим разделом, чтобы иметь представления о том, как реализовывать сложные (в графическом плане) меню сайта.
Сначала опишем блоки, чаще всего необходимые для построения меню, а затем уже более сложные, без которых иногда не обойтись.
Заголовок блока |
Замены при отсутствии |
Описание |
|---|---|---|
@begin |
Пустая строка |
Выводится один раз, перед самым началом построения меню. |
@link |
- |
Выводится для элемента меню (страницы сайта), на который(-ой) может перейти пользователь. |
@activelink |
@link |
Выводится для элемента меню (страницы сайта), на котором(-ой) сейчас находится пользователь. |
@passiveactive |
@link |
Выводится для элемента меню, который находится в текущей дороге пользователя, и выше по уровню от текущей страницы. |
@delimiter |
Пустая строка |
Выводится между любыми элементами меню. |
@end |
Пустая строка |
Выводится один раз, в самом конце построения меню. |
Таб. 10: Перечень основных блоков, используемых для построения меню. Если какой-то блок не найден, но он необходим для построения меню по данному шаблону, то будет использован блок, указанный в колонке «Замена при отсутствии». |
||
Большинство блоков, представленных в Таблице 10, должны быть понятны, поэтому заострим наше внимание только на одном, а именно на «@passiveactive».
Этот блок используется для выделения страницы, на которой пользователь сейчас не находится, но в тоже время, она относится к текущей странице, так как находится в одной ветке с ней. Другими словами, если вы находитесь на странице «Подраздел 2.3.2», то этот блок будет вызываться для «Раздел 2.3» и для «Основной раздел 2» (Рис. 5).
Дизайн меню может быть выполнен (свёрстан) таким образом что, вам будет не хватать базовых блоков для построения меню. Для реализации более сложных меню введены дополнительные блоки, указанные в Таблице 11:
Заголовок блока |
Замены при отсутствии |
Описание |
|---|---|---|
@beginactiv |
@begin |
Если указан, то будет выводиться перед началом меню, когда первый элемент меню является активным (т.е. выбранным пользователем), и замещает собой блок @begin |
@delimiteractivstart |
@delimiter |
Если указан, то будет выводиться перед блоком @activelink, заменяя собой блок @delimiter |
@delimiteractivend |
@delimiter |
Если указан, то будет выводиться после блока @activelink, заменяя собой блок @delimiter |
@endactiv |
@end |
Если указан, то будет выводиться в самом конце меню, когда активным является последний элемент меню, и замещает блок @end |
Таб. 11: Перечень дополнительных блоков, используемых для построения меню. Если какой-то блок не найден, но он необходим для построения меню по данному шаблону, то будет использован блок, указанный в колонке «Замена при отсутствии». |
||
Как вы можете заметить, представленные в Таблице 11 блоки позволяют изменять блоки «@begin», «@delimiter» и «@end» рядом с блоком активной страницы. Данная возможность может понадобиться для построения меню со сложным графическим оформлением, когда активный элемент меню влияет на отображение соседних элементов.
Для построения древовидных меню вам необходимо будет активно использовать блок уровня, так как в большинстве случаев, вам будет нужно, чтобы страницы более низких уровней выводились с какими-то изменениями (меньшим шрифтом, с отступом и т.п.).
Как уже говорилось, для этого используется блок «@@nextlevel», который указывается после любого из основных и дополнительных блоков и определяет их (эти блоки) для страниц следующего уровня.
Для получения примера использования блока уровня обратитесь к подразделу «Блок уровня» раздела «Общие особенности всех модулей».
Опишем переменные, которые могут быть использованы в блоках шаблона. Их немного, и они достаточно просты, поэтому у вас не должно возникнуть трудности с их использованием.
Переменная |
Блоки использования |
Значение переменной |
|---|---|---|
text |
Все |
Название выводимой страницы. |
link |
Все |
Относительная ссылка, вида «/id_page.html», для осуществления клика и перехода на данную страницу. |
id |
Все |
Уникальный идентификатор данной страницы. |
level |
Все |
Уровень текущей страницы в формируемой структуре меню. Значения всегда начинается с нуля, независимо от действия и его настроек. |
Таб. 12: Перечень переменных, используемых в блоках модуля «Меню», для непосредственного построения меню. |
||
Модуль «Дорога» предназначен для построения так называемой дороги сайта, которая необходима для того, что бы посетитель сайта мог быстро вернуться ну нужный ему уровень структуре сайта.
Модуль не имеет свойств.
Название свойства |
Варианты значения |
Описание |
|---|---|---|
Видимость страницы |
«Отображать» или «Не отображать» |
С помощью этого свойства вы может скрыть необходимые страницы (или разделы) из дороги сайта. Для этого соответственно необходимо в качестве значения выбрать «Не отображать». |
Таб. 13: Перечень свойств модуля «Дорога», прописываемые к каждой странице сайта. |
||
В Таб. 13 представлено единственное свойство к странице, используемое модулем «Дорога» Не забывайте устанавливать значение данного свойства, так как в случае если оно у страницы не определено, то страница не попадёт в сформированную дорогу. С помощью этого свойства из дороги могут быть убраны страницы, которые не несут смысловой нагрузки, а необходимы лишь для группировки.
Модуль имеет два действия, одно и которых непосредственно формирует дорогу, а второе является скорее вспомогательным, но не менее полезным и часто используемым на сайте.
Формирует дорогу сайта от текущей страницы (на которой сейчас находиться пользователь сайта, и для которой соответственно формируется дорога) до страницы самого верхнего уровня.
Некоторые другие модули, например модуль «Каталога товаров», могут влиять на формирование дороги, дописывая свои элементы. В случае с модулем «Каталога товаров» а качестве таких элементов выступают разделы и подразделы каталога товаров. В любом случае, за формирование конечного вида дороги сайта отвечает именно данное действие.
В качестве параметра действия указывается только используемый шаблон (Таб. 14).
Название параметра действия |
Варианты значений |
Описание |
|---|---|---|
Шаблон |
Выбирается один из списка доступных шаблонов. |
Указанный шаблон будет использоваться для формирования визуального представления дороги. |
Таб. 14: Таблица с параметрами действия по формированию дороги сайта. |
||
Формирует название (просто строку) текущей страницы находящейся на определенном уровне в дороге сайта. Метод удобно использовать для вывода заголовка раздела или подраздела, чьи страницы пользователь сейчас просматривает.
Как правило, данное действие используется для дублирования заголовков основных разделов перед выводом основного контента страницы.
| Название параметра действия | Варианты значений |
Описание |
|---|---|---|
Уровень формирования |
Число |
Номер уровня в фактической структуре сайта, с которого будет получено название страницы. |
Таб. 15: Таблица с параметрами действия по формированию названия страницы сайта. |
||
Для пояснения результата формирования работы данного действия обратимся к Рис. 4 и Рис. 5 (стр. 16 и 17). Если данное действие будет вызываться для сайта со структурой, представленной на данных рисунках, и значением параметра равным 2 (двум), то для рисунка 4 действие вернёт строку «Раздел 1.3», а для рисунка 5 – строку «Раздел 3.1»
Следует учитывать, что если пользователь сайта просматривает страницы первого уровня, то действие, где в качестве параметра указаны цифра 2 (второй уровень), вернёт пустую строчку, так как пользователь находиться «выше» по структуре сайта.
Шаблон, используемый для построения дороги достаточно прост и не должен вызвать у вас особых затруднений.
Заголовок блока |
Замены при отсутствии |
Описание |
|---|---|---|
@begin |
Пустая строка |
Выводится один раз, перед самым началом построения дороги сайта. |
@link |
- |
Выводится элемента дороги, на который может перейти пользователь. |
@activelink |
- |
Выводится для элемента дороги, на котором сейчас находится пользователь. |
@delimiter |
Пустая строка |
Выводится в качестве разделителя между элементами дороги. |
@end |
Пустая строка |
Выводится один раз, в самом конце построения дороги. |
Таб. 16: Таблица блоков, используемых в шаблоне, построения дороги сайта. |
||
В таблице 16 представлены все блоки, которые вы можете использовать в шаблоне дороги, а ниже приведён пример готового шаблона:
<!-- @begin -->
<span class="way">
<!-- @link -->
<a class="way" href="%link%">%text%</a>
<!-- @activelink -->
<b class="activeway">%text%</b>
<!-- @delimiter -->
/
<!-- @end -->
</span>
Переменная |
Блоки использования |
Значение переменной |
|---|---|---|
text |
@link и @activelink |
Название выводимой страницы. |
link |
@link и @activelink |
Относительная ссылка, вида «/id_page.html», для осуществления клика и перехода на данную страницу. |
Таб. 17: Перечень переменных используемых в блоках шаблона, для построения дороги сайта. |
||
В таблице 17 представлены все переменные, которые могут быть использованы для фомирования дороги сайта.
Модуль «Карта сайта» предназначен для построения так называемой ссылочной карты сайта. Это страница, на которой полностью отображена вся структура сайта. Часто картой сайта пользуются непосредственно посетители сайта, но гораздо более важное значение она имеет для равномерной индексации поисковыми системами всех страниц сайта.
Модуль не имеет свойств.
Название свойства |
Варианты значения |
Описание |
|---|---|---|
Видимость страницы |
«Отображать» или «Не отображать» |
С помощью этого свойства вы может скрыть необходимые страницы (или разделы) из карты сайта. Для этого соответственно необходимо в качестве значения выбрать «Не отображать». |
Таб. 18: Перечень свойств модуля «Карта сайта», прописываемых к каждой странице сайта. |
||
В Таб. 18 представлено единственное свойство к странице, используемое модулем «Дорога» Не забывайте устанавливать значение данного свойства, так как в случае если оно у страницы не определено, то страница не попадёт в сформированную карту. С помощью этого свойства из карты сайта могут быть убраны страницы, которые не несут смысловой нагрузки, а необходимы лишь для группировки.
Непосредственно формирует ссылочную карту. Для настройки действия используются два параметра, указанные в Таблице 19.
| Название параметра действия | Варианты значений |
Описание |
|---|---|---|
Страница начала построения |
Выбирается конкретная страница сайта с помощью визуальных средств. Так же, значение идентификатора может быть введено вручную |
Необходимо указать, от какой страницы в структуре сайта будет происходить построение карты. |
Шаблон |
Выбирается один из списка доступных шаблонов. |
Указанный шаблон будет использоваться для формирования визуального представления дороги. |
Таб. 19: Параметры действия, используемые для формирования карты сайта. |
||
Для построения карты сайта могут быть использованы следующие основные блоки, которые представлены в Таблице 20.
| Заголовок блока | Замены при отсутствии |
Описание |
|---|---|---|
@begin |
Пустая строка |
Выводится один раз, перед самым началом построения карты сайта. |
@link |
- |
Выводится для элемента карты (страницы сайта), на которую может перейти пользователь. |
@activelink |
@link |
Выводится для элемента карты (страницы сайта), на которую сейчас находится пользователь. |
@passiveactive |
@link |
Выводится для элемента карты, который находится в текущей дороге пользователя, и выше по уровню от текущей страницы. |
@delimiter |
Пустая строка |
Выводится между любыми элементами карты. |
@end |
Пустая строка |
Выводится один раз, в самом конце построения карты. |
Таб. 20: Таблица блоков, используемых для построения карты сайта. |
||
Все блоки достаточно просты в использовании и не вызовут у вас проблем.
Для того, что бы определить внешний вид элементов карты сайта более низкого уровня (чаще всего они должны быть с отступом), необходимо использовать специальный блок уровня, который должен быть вам уже знаком по модулю «Меню».
Для получения примера использования блока уровня обратитесь к подразделу «Блок уровня» раздела «Общие особенности всех модулей».
Рассмотрим пример шаблона, для построения стандартной карты сайта:
<!-- @begin -->
<!-- @@nextlevel -->
<ul>
<!-- @link -->
<li><a href="%link%">%text%</a>
<!-- @@nextlevel -->
</li><li><a href="%link%">%text%</a>
<!-- @@nextlevel -->
<br/></li><li><a href="%link%">%text%</a>
<!-- @@nextlevel -->
</li><li><a href="%link%">%text%</a>
<!-- @activelink -->
</li><li><strong>%text%</strong>
<!-- @end -->
<!-- @@nextlevel -->
</li></ul>
Как вы заметили из примера, блок уровня активно используется в шаблоне. С помощью него описывается то, как будет выглядеть карта сайта до четвёртого уровня вложенности включительно. Первый уровень описывает сам блок «@link» а три остальные блоки «@nextlevel».
Переменная |
Блоки использования |
Значение переменной |
|---|---|---|
text |
@link |
Название выводимой страницы. |
link |
Относительная ссылка, вида «/id_page.html», для осуществления клика и перехода на данную страницу. |
|
Таб. 21: Переменные, используемы блоками для построения карты сайта. |
||
Представленные в Таблице 21 переменные используются только в четырёх блоках шаблона.
Модуль предназначен организации новостных лент, или любой другой информации со схожей системой вывода и обработки. Модуль новостей подразумевает возможную интеграцию с модулями «Рассылки» и «Рассылки RSS».
Для каждой записи, введённой в базу данных модуля, вы можете определить следующие параметры:
Следует отметить, что такие параметры как «признак попадания в рассылку» и «признак попадания в RSS рассылку» предназначены для возможности использования других модулей.
Как уже говорилось, модуль «Новостей» предназначен только для ввода новостей администратором сайта и их непосредственного вывода на сайте.
Модуль имеет достаточно много свойств, потому рассмотрим эти свойства по группам тех задач, на решение которых они нацелены.
Если в новостях планируется использовать изображения, которые необходимо выводить в ленте или в архиве новостей то, вам нужно обратить на первые четыре параметра (Таб. 22).
Название свойства |
Варианты значения |
Описание |
|---|---|---|
Ширина большой картинки |
Число, больше или равное 0 |
Ширина и высота изображения в пикселях, которое будет создано из главного изображения (если оно указано), путём масштабирования. В алгоритме масштабирования сохраняются пропорции изображения, поэтому сформированная как минимум один из параметров (высота или ширина) будет иметь заданный размер. |
Высота большой картинки |
Число, больше или равное 0 |
|
Ширина маленькой картинки |
Число, больше или равное 0 |
Ширина и высота изображения в пикселях, которое будет создано из главного изображения (если оно указано), путём масштабирования. В алгоритме масштабирования сохраняются пропорции изображения, поэтому сформированная как минимум один из параметров (высота или ширина) будет иметь заданный размер. |
Высота маленькой картинки |
Число, больше или равное 0 |
|
Таб. 22 : В таблице перечислены свойства модуля «Новости», которые управляют преобразованием «главного изображения». |
||
К каждой новости, может быть добавлено одно «главное изображение». Именно из этого главного изображения и будут сформированы «большая» и «маленькая» картинки, указанных вами размеров. В дальнейшем, эти изображения используются в шаблоне, как две отдельные переменные. Например, «маленькое» изображение вы можете выводить в шаблоне ленты новостей, а «большое» изображение, при формировании полного текста новости.
У новости может быть только одно «главное» изображение, в двух (или одном) разных масштабах. Если необходимо больше изображений то их необходимо добавлять в полное описание новости, средствами встроенного редактора контента.
Следующие свойства управляют значениями по умолчанию свойство новости, при её создании, а так же задают количество новостей на страницу, отображаемых администратору сайта (Таб. 23).
Вы можете их настроить в соответствии от вашего конкретного случая. Например, если большинство новостей НЕ должны попадать в ленту новостей, то свойство «Значение признака «В ленту» удобнее будет снять, чтобы не делать этого у каждой вновь создаваемой новости.
Название свойства |
Варианты значения |
Описание |
|---|---|---|
Значение признака "в рассылку" |
Признак |
Устанавливает значение по умолчанию, для признака попадания в рассылку, при добавлении новых новостей. |
Значение признака "В ленту" |
Признак |
Устанавливает значение по умолчанию, для признака попадания в ленту, при добавлении новых новостей. |
Значение признака "В RSS" |
Признак |
Устанавливает значение по умолчанию, для признака попадания в рассылку RSS, при добавлении новых новостей. |
Новостей на страницу для АИ |
Число, больше 0 |
Количество новостей на одной странице, в административном интерфейсе модуля, при просмотре списка. |
Таб. 23 : В таблице перечислены оставшиеся свойства модуля «Новости» которые управляют значениями по умолчанию, а так же количеством новостей на одной странице административного интерфейса. |
||
Модуль не имеет свойств, прописываемых к странице сайта.
Действие отвечает за формирование ленты актуальных новостей, представленного в виде небольшого списка (как правило, это от 3 до 5). Этот метод используется чаще всего на главной страницы, с тем, что бы посетитель сайта сразу видел все свежие новости.
При клике по новости из ленты посетитель должен направляться на страницу сайта, где вызывается действие «Сформировать архив», и происходит просмотр полного текста новости. В Таблице 24 представлен перечень параметр действия.
Название параметра действия |
Описание |
|
|---|---|---|
Шаблон |
Выбирается один из файлов, который будет использоваться в качестве шаблона для формирования ленты. |
|
Количество новостей |
Максимальное количество новостей отображаемых в ленте. |
|
Тип отбора |
Указывается один из возможных способов формирования ленты новостей:
|
|
Страница архива |
Указывается идентификатор страницы сайта, на которой присутствует вызов действия «Сформировать архив» этого же экземпляра модуля. |
|
Таб. 24 : Перечень параметров действия «Сформировать ленту». |
||
Параметр «Тип отбора» управляет тем, какие новости будут считаться новыми и обрабатываться для формирования ленты.
Если выбрано значение «не зависимо от даты», то дата новостей ни как не влияет на формирование ленты. В ленту попадут заданное количество последних новостей, даже если их дата очень далеко в будущем.
При выборе значения «от текущей даты в прошлое» в ленту будет отобрано заданное количество новостей, начиная с текущей даты и более старые. То есть, если в модуле будут присутствовать новости будущих дат – они не попадут в ленту.
И в последнем случае, при выборе в качестве значения параметра «от текущей даты в будущее», в ленту будет отобрано заданное количество новостей, начиная с текущей даты и более новые. То есть, в новостную ленту попадет заданное количество новостей будущего, начиная от текущей даты. Этот способ удобно использовать для информирования об анонсах событий.
Следует упомянуть ещё один параметр, а именно «страница архива». В этом параметре необходимо определить страницу сайта, на которой будет вызываться действие «Сформировать архив». При использовании нескольких новостных лент (а значит и нескольких экземпляров модуля «Новости») ссылка должна быть именно на ту страницу, где вызывается СВОЁ действие «Сформировать архив».
Действие «Сформировать архив» строит список всех новостей, которые есть в базе модуля и разрешены к публикации. Кроме того, это же действие отвечает за просмотр пользователем полного текста новости, при выборе одной из доступных новостей. В Таблице 25 представлен перечень параметров, используемых для настройки действия.
Название параметра действия |
Описание |
|
|---|---|---|
Шаблон |
Выбирается один из файлов, который будет использоваться в качестве шаблона для формирования списка новостей и текста полной новости. |
|
Количество новостей на страницу |
Количество новостей в списке (архиве), отображаемых на странице. Если новостей больше, чем заданное число, то появляется интерфейс выбора конкретной страницы. |
|
Тип отбора |
Указывается один из возможных способов формирования архива новостей:
|
|
Вид страничной навигации |
Определяет тип построения блока постраничной навигации в архиве новостей. Доступно два значения:
где N – количество страниц в блоке, определяемое соответствующим параметром (ниже). |
|
Количество страниц в блоке. |
Определяет число страниц в блоке постраничной навигации. |
|
Таб. 25 : Перечень параметров действия «Сформировать архив». |
||
Рассмотрим два последних параметра действия. В случае, когда страниц в архиве становится больше, чем значение параметра «количество новостей на страницу», то появляется блок постраничный навигации. Параметр «количество страниц в блоке» определяет, сколько ссылок на разные страницы будут одновременно доступны пользователю сайта.
Второй параметр, «вид страничной навигации», определяет то, как будет строиться этот блок. При значении параметра «блоками по N страниц», посетителю сайта будут показаны страницы с 1 по N. При большем количестве доступных страниц, пользователю сайта будет доступен переход к следующему блоку, а при клике в по страницам в рамках одного блока, этот блок никак не изменяется.
Если же значения второго параметра установлено в «текущая страница в центре», разница заключена лишь в том, что при клике пользователя по конкретной странице, блок выбора страниц перестраивается таким образом, что бы выбранная страница была в центре блока.
Действие отвечает за вывод формы, в которой пользователь сайта может установить параметры, управления списком новостей, обрабатываемым действием «Сформировать архив». Данное действие может использоваться в любом месте сайта, однако на этой странице обязательно должен присутствовать вызов действия «Сформировать архив» данного модуля.
Действие использует всего один параметр, который представлен в Таблице 26.
Название параметра действия |
Описание |
|
|---|---|---|
Шаблон для вывода |
Выбирается один из файлов, который будет использоваться в качестве шаблона для формы отбора. |
|
Таб. 26 : Перечисление параметров действия «Сформировать форму отбора». |
||
Внешний вид формы отбора, и то какой именно отбор будет использован, определяется в шаблоне, с помощью использования (или не использования) доступных переменных. Модуль может установить ограничить выборку новостей по архиву двумя способами:
Сначала рассмотрим блоки, которые используются в шаблонах действий «Сформировать ленту» и «Сформировать архив». Затем перейдём к рассмотрению блоков, используемых только в действие «Сформировать архив». И в саму последнюю очередь рассмотрим блоки действия «Показать отбор».
В таблице 27, представлен перечень блоков, используемых в шаблонах построения ленты новостей, и архива новостей, то есть они являются общими для этих двух действий.
Заголовок блока |
Прямые переменные |
Переменные-блоки |
Описание |
|---|---|---|---|
@content |
- |
rows, pages |
Основной блок, которым замещается метка в шаблоне, при вызове действия по формированию ленты. Использует переменную, которая будет заменена на блок @rows, столько раз, сколько новостей в ленте. (Переменная pages используется только в действии «Сформировать архив», при формировании ленты данная переменная игнорируется.) |
@no_data |
- |
- |
Выводиться вместо блока @content в том случае, если не найдено ни одной новости для вывода. |
@rows |
date, time, url, header, author description_short, description_full |
image, source |
Определяет внешний вид одной новости ленты. Использует достаточно много переменных, часть из которых заменяются другими блоками (image, source). |
@image |
image_source, image_thumb, image_big, header |
- |
Выводиться вместо переменной image в блоке @rows, в том случае, если у новости есть главное изображение. |
@no_images |
- |
- |
Выводиться вместо переменной imageв блоке @rows, в том случае, если у новости не используется главное изображение. |
@source |
source_url, source_name |
- |
Выводиться вместо переменной source в блоке @rows, в том случае если у новости определёна ссылка на источник и название источника новости. |
@source_no_url |
source_name |
- |
Выводиться вместо переменной source в блоке @rows, в том случае если у новости определёно только название источника, а ссылка на сайт источника отсутствует. |
@source_no_all |
- |
- |
Выводиться выводится вместо переменной source в блоке @rows, в том случае, если у новости не определёно ни название источника, ни ссылка на него. |
Таб. 27 : Перечень всех блоков используемых для построения ленты новостей в действии «Сформировать ленту». |
|||
Теперь рассмотрим дополнительные блоки, которые обрабатываются только действием «Сформировать архив» для того, что бы сформировать навигацию по большому объёму информации в архиве. В Таблице 28 приведено описание блоков, которые используются для формирования постраничной навигации.
Заголовок блока |
Прямые переменные |
Переменные-блоки |
Описание |
|---|---|---|---|
@page_no |
- |
- |
Выводиться вместо переменной pagesв блоке @content (Таб. 27) в том случае, если в сформированном архиве нет необходимости использовать блок постраничной навигации. |
@page_template |
- |
first, backward, previous, pages_block, next, forward, last |
Выводиться вместо переменной pagesв блоке @content (Таб. 27) в том случае, если в сформированном архиве необходима постраничная навигация. Переменная page_blockзаменяется набором блоков @page_active и @page_passive (количество блоков соответствует количеству страниц в блоке) соединённых последовательно, между которым вставляется блок @delimiter. |
@page_first |
url |
- |
Заменяется переменная first в блоке @page_template, в том случае, если мы находимся не на самой первой странице. Используется для формирования ссылки перехода к этой самой первой странице. |
@page_first_disabled |
- |
- |
Заменяется переменная first в блоке @page_template, в том случае, если мы находимся на самой первой странице. |
@page_backward |
url |
- |
Заменяется переменная backward в блоке @page_template, в том случае, если страниц так много, что они разбиты на несколько блоков и текущая страница не входит в первый из них. |
@page_backward_disabled |
- |
- |
Заменяется переменная backward в блоке @page_template, в том случае, если страниц так много, что они разбиты на несколько блоков и текущая страница входит в первый из них. |
@page_previous |
url |
- |
Заменяется переменная previous в блоке @page_template, в том случае, если существует более одной страницы и необходимо вывести ссылку на предыдущую страницу относительно текущей. |
@page_previous_disabled |
- |
Заменяется переменная previous в блоке @page_template, в том случае, если существует более одной страницы? но текущая страница является первой и значит, что предыдущей страницы нет. |
|
@page_next |
url |
- |
Заменяется переменная next в блоке @page_template, в том случае, если мы находимся не на самой последней странице. Используется для формирования ссылки перехода к следующей странице, относительно текущей. |
@page_next_disabled |
- |
- |
Заменяется переменная next в блоке @page_template, в том случае, если мы находимся на самой первой странице. |
@page_forward |
url |
- |
Заменяется переменная forward в блоке @page_template, в том случае, если страниц так много, что они разбиты на несколько блоков и текущая страница в любом из них, кроме последнего. |
@page_forward_disabled |
- |
- |
Заменяется переменная forwardв блоке @page_template, в том случае, если страниц так много, что они разбиты на несколько блоков и текущая страница входит в последний из них. |
@page_last |
url |
- |
Заменяется переменная lastв блоке @page_template, в том случае, если мы находимся не на самой последней странице. Используется для формирования ссылки перехода к этой самой последней странице. |
@page_last_disabled |
url, page |
- |
Заменяется переменная last в блоке @page_template, в том случае, если мы находимся на самой последней странице. |
@page_active |
url, page |
- |
Используется для формирования переменной page_block в блоке @page_template, Формируется для страницы архива новостей, на которую может перейти пользователь (то есть не для текущей страницы). |
@page_passive |
url, page |
- |
Используется для формирования переменной page_block в блоке @page_template, Формируется для странице архива новостей, на которой сейчас находиться пользователь сайта (то есть не для текущей страницы). |
@page_delimeter |
- |
- |
Используется для формирования переменной page_block в блоке @page_template, Разделяет блоки @page_active и @page_passive друг от друга. |
Таб. 28 : Перечень блоков, используемых для формирования постраничной навигации внутри архива новостей. |
|||
Пусть вас не пугает объём блоков, все они достаточно просты для понимания. Прежде всего, следует обратить внимание на блок @page_template. Именно в нём вы определяете взаиморасположение элементов навигации по страницам. А за тем, в каждом из блоков определяете, как выглядит тот или иной элемент навигации (будь то ссылка на самую первую страницу, или переход к следующему блоку).
Если вы не хотите использовать все элементы навигации, то вам просто не надо использовать соответствующую переменную-блок в блоке @page_template.
Следует отметить, что при описании всех этих блоков используется термин «страницы», который обозначает не страницы сайта (те что представлены в структуре), а страницы архива новостей, на которые разбивается весь архив.
В Таблице 29 представлены остальные блоки шаблона, которые используются в действии «Сформировать архив» и предназначены для управления внешним видом полного текста новости, который формируется при клике по конкретной новости из архива или ленты.
Заголовок блока | Прямые переменные |
Переменные-блоки |
Описание |
|---|---|---|---|
@fulltext |
date, time, header, description_short, description_full, author, url_back |
image, source |
Основной блок, который заменяет метку, к которой привязано действие «Сформировать архив». |
@fulltext_image |
image_source, image_thumb, image_big, header |
- |
Выводиться вместо переменной imageв блоке @fulltext, в том случае, если у новости есть главное изображение. |
@fulltext_no_images |
- |
- |
Выводиться вместо переменной imageв блоке @fulltext, в том случае, если у новости нет главного изображения. |
@fulltext_source |
source_url, source_name |
- |
Выводиться вместо переменной sourceв блоке @fulltext, в том случае, если у новости есть название источника и ссылка на сайт источника. |
@fulltext_source_no_url |
source_name |
- |
Выводиться вместо переменной source в блоке @fulltext, в том случае, если у новости есть название источника, но нет ссылки на сайт. |
Таб. 29 : Перечень блоков,
используемых в действие «Сформировать архив», для вывода полного текста
новости. |
|||
Заключительным набором блоков, которые нам необходимо рассмотреть являются блоки, используемые в шаблоне действия «Показать отбор». В Таблице 30 представлен перечень этих блоков.
Заголовок блока |
Прямые переменные |
Описание |
|
|---|---|---|---|
@form |
url, date_alone_name, date_start_name, date_stop_name |
Блок содержит визуальное представление формы, в которой пользователь сайта осуществляет отбор новостей. Переменная url будет заменена адресом, на который отправляются данные. Остальные переменные заменяются именами используемых параметров. |
|
Таб. 30 : Перечень блоков, используемых
в действии «Сформировать форму отбора» |
|||
Для того, что бы было более понятно и наглядно, давайте сразу рассмотрим пример шаблона, в котором форма отбора реализована в виде простого текстового поля.
<!-- @form -->
<form action="%url%" method="GET">
<fieldset>
<label for="date_alone">Дата:</label> <input id="date_alone" type="text" name="%date_alone_name%" value=""/>
<input type="submit" name="submit" value="Отбрать"/>
</fieldset>
</form>
В приведенном выше примере шаблона используется одно поле, имя которого задаётся переменной
Мы рассматриваем только прямые переменные, так как переменные-блоки заменятся блоками и уже были описаны выше. В Таблице 31 приведено описание переменных, используемых во всех блоках шаблонов.
Переменная |
Блоки применения |
Описание |
|
|---|---|---|---|
date |
@rows и @fulltext |
Вводит дату новости в формате ДД.ММ.ГГ. |
|
time |
@rows и @fulltext |
Вводит время новости в формате ЧЧ:ММ. |
|
header |
@rows, @image, @fulltext, @fulltext_image |
Замещается заголовком новости. |
|
author |
@rows и @fulltext |
Заменяется строкой с автором, указанным в соответствующем поле. |
|
description_short |
@rows и @fulltext |
Замещается кратким описанием новости. |
|
description_full |
@rows и @fulltext |
Замещается полным текстом новости. |
|
url_back |
@fulltext |
Замещается адресом, с которого посетитель пришёл для просмотра полного текста новости. |
|
url |
@rows |
Замещается ссылкой, по которой должен перейти пользователь для просмотра полного текста новости. |
|
image_source |
@image и @fulltext_image |
Будет заменена путем до главного изображения исходного размера, которое было закачено при создании новости. |
|
image_thumb |
@image и @fulltext_image |
Будет заменена путем до большого варианта главного изображения, которое было создано для новости. Может быть пустой строкой, если в параметрах модуля, размеры этого варианта главного изображения установлены в нулевые значения. |
|
image_big |
@image и @fulltext_image |
Будет заменена путем до маленького варианта главного изображения, которое было создано для новости. Может быть пустой строкой, если в параметрах модуля, размеры этого варианта главного изображения установлены в нулевые значения. |
|
source_name |
@source, @source_no_url, , @fulltext_source и @fulltext_source_no_url |
Заменяется именем источника новости, указанного в соответствующем поле новости. |
|
source_url |
@source, @source_no_url, @fulltext_source и @fulltext_source_no_url |
Заменяется ссылкой на сайт в сети Интернет источника новости, указанного в соответствующем поле новости. |
|
url |
@page* и @block* (все участвующие в формировании постраничной навигации). |
Заменяется ссылкой для перехода к конкретной странице (в зависимости от используемого блока) |
|
page |
@page* и @block* (все участвующие в формировании постраничной навигации). |
Замещается номер страницы (в зависимости от используемого блока). |
|
Таб. 31 . Перечень всех переменных,
используемых в шаблонах модулей действий модуля новостей. |
|||