Инструменты пользователя

Инструменты сайта


constructor:news

Модуль «Новости»

Описание

Модуль предназначен для организации новостных лент, или любой другой информации со схожей системой вывода и обработки. Модуль новостей подразумевает возможную интеграцию с модулями «Рассылки» и «Рассылки RSS».

Для каждой записи, введённой в базу данных модуля, вы можете определить следующие параметры:

  • дата новости;
  • время новости;
  • заголовок новости;
  • краткое описание новости (не обязательно);
  • полное описание новости (не обязательно);
  • признак активности;
  • признак попадания в ленту новостей;
  • признак попадания в рассылку;
  • признак попадания в RSS рассылку;
  • автор новости (не обязательно);
  • название источника, откуда получена новость (если необходимо);
  • URL источника, откуда получена новость (если необходимо);
  • главное изображение к новости (не обязательно);

Следует отметить, что такие параметры как «признак попадания в рассылку» и «признак попадания в RSS рассылку» предназначены для возможности использования других модулей.

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

Свойства

Модуль имеет достаточно много свойств, потому рассмотрим эти свойства по группам тех задач, на решение которых они нацелены.

Управление главным изображением

Если в новостях планируется использовать изображения, которые необходимо выводить в ленте или в архиве новостей то, вам нужно обратить на первые четыре параметра (Таб. 1).

Название свойства Варианты значения Описание
Ширина большой картинки Число, больше или равное 0 Ширина и высота изображения в пикселях, которое будет создано из главного изображения (если оно указано), путём масштабирования. В алгоритме масштабирования сохраняются пропорции изображения, поэтому сформированная как минимум один из параметров (высота или ширина) будет иметь заданный размер.
Высота большой картинки Число, больше или равное 0 Ширина и высота изображения в пикселях, которое будет создано из главного изображения (если оно указано), путём масштабирования. В алгоритме масштабирования сохраняются пропорции изображения, поэтому сформированная как минимум один из параметров (высота или ширина) будет иметь заданный размер.
Ширина маленькой картинки Число, больше или равное 0 Ширина и высота изображения в пикселях, которое будет создано из главного изображения (если оно указано), путём масштабирования. В алгоритме масштабирования сохраняются пропорции изображения, поэтому сформированная как минимум один из параметров (высота или ширина) будет иметь заданный размер.
Высота маленькой картинки Число, больше или равное 0 Ширина и высота изображения в пикселях, которое будет создано из главного изображения (если оно указано), путём масштабирования. В алгоритме масштабирования сохраняются пропорции изображения, поэтому сформированная как минимум один из параметров (высота или ширина) будет иметь заданный размер.

Таб. 1: В таблице перечислены свойства модуля «Новости», которые управляют преобразованием «главного изображения».

К каждой новости, может быть добавлено одно «главное изображение». Именно из этого главного изображения и будут сформированы «большая» и «маленькая» картинки, указанных вами размеров. В дальнейшем, эти изображения используются в шаблоне, как две отдельные переменные. Например, «маленькое» изображение вы можете выводить в шаблоне ленты новостей, а «большое» изображение, при формировании полного текста новости.

У новости может быть только одно «главное» изображение, в двух (или одном) масштабах. Если необходимо больше изображений то их необходимо добавлять в полное описание новости, средствами встроенного редактора контента.

Управление значениями по умолчанию

Следующие свойства управляют значениями по умолчанию свойство новости, при её создании, а так же задают количество новостей на страницу, отображаемых администратору сайта (Таб. 2).

Вы можете их настроить в соответствии от вашего конкретного случая. Например, если большинство новостей НЕ должны попадать в ленту новостей, то свойство «Значение признака «В ленту» удобнее будет снять, чтобы не делать этого у каждой вновь создаваемой новости.

Название свойства Варианты значения Описание
Значение признака «в рассылку» Признак Устанавливает значение по умолчанию, для признака попадания в рассылку, при добавлении новых новостей.
Значение признака «В ленту» Признак Устанавливает значение по умолчанию, для признака попадания в ленту, при добавлении новых новостей.
Значение признака «В RSS» Признак Устанавливает значение по умолчанию, для признака попадания в рассылку RSS, при добавлении новых новостей.
Новостей на страницу для АИ Число, больше 0 Количество новостей на одной странице, в административном интерфейсе модуля, при просмотре списка.

Таб. 2: В таблице перечислены оставшиеся свойства модуля «Новости» которые управляют значениями по умолчанию, а так же количеством новостей на одной странице административного интерфейса.

Свойства к странице

Модуль не имеет свойств, прописываемых к странице сайта.

Действия

Сформировать ленту

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

При клике по новости из ленты посетитель должен направляться на страницу сайта, где вызывается действие «Сформировать архив», и происходит просмотр полного текста новости. В Таблице 3 представлен перечень параметр действия.

Название параметра действия Описание
Шаблон Выбирается один из файлов, который будет использоваться в качестве шаблона для формирования ленты.
Количество новостей Максимальное количество новостей отображаемых в ленте.
Тип отбора Указывается один из возможных способов формирования ленты новостей:
не зависимо от даты;
от текущей даты в прошлое;
от текущей даты в будущее.
Страница архива Указывается идентификатор страницы сайта, на которой присутствует вызов действия «Сформировать архив» этого же экземпляра модуля.

Таб. 3: Перечень параметров действия «Сформировать ленту».

Параметр «Тип отбора» управляет тем, какие новости будут считаться новыми и обрабатываться для формирования ленты.

Если выбрано значение «не зависимо от даты», то дата новостей ни как не влияет на формирование ленты. В ленту попадут заданное количество последних новостей, даже если их дата очень далеко в будущем.

При выборе значения «от текущей даты в прошлое» в ленту будет отобрано заданное количество новостей, начиная с текущей даты и более старые. То есть, если в модуле будут присутствовать новости будущих дат – они не попадут в ленту.

И в последнем случае, при выборе в качестве значения параметра «от текущей даты в будущее», в ленту будет отобрано заданное количество новостей, начиная с текущей даты и более новые. То есть, в новостную ленту попадет заданное количество новостей будущего, начиная от текущей даты. Этот способ удобно использовать для информирования об анонсах событий.

Следует упомянуть ещё один параметр, а именно «страница архива». В этом параметре необходимо определить страницу сайта, на которой будет вызываться действие «Сформировать архив». При использовании нескольких новостных лент (а значит и нескольких экземпляров модуля «Новости») ссылка должна быть именно на ту страницу, где вызывается СВОЁ действие «Сформировать архив».

Сформировать архив

Действие «Сформировать архив» строит список всех новостей, которые есть в базе модуля и разрешены к публикации. Кроме того, это же действие отвечает за просмотр пользователем полного текста новости, при выборе одной из доступных новостей. В Таблице 4 представлен перечень параметров, используемых для настройки действия.

Название параметра действия Описание
Шаблон Выбирается один из файлов, который будет использоваться в качестве шаблона для формирования списка новостей и текста полной новости.
Количество новостей на страницу Количество новостей в списке (архиве), отображаемых на странице. Если новостей больше, чем заданное число, то появляется интерфейс выбора конкретной страницы.
Тип отбора Указывается один из возможных способов формирования архива новостей: не зависимо от даты; от текущей даты в прошлое; от текущей даты в будущее.
Вид страничной навигации Определяет тип построения блока постраничной навигации в архиве новостей. Доступно два значения: блоками по N страниц; текущая страница всегда в центре блока из N страниц; где N – количество страниц в блоке, определяемое соответствующим параметром (ниже).
Количество страниц в блоке. Определяет число страниц в блоке постраничной навигации.

Таб. 4: Перечень параметров действия «Сформировать архив».

Рассмотрим два последних параметра действия. В случае, когда страниц в архиве становится больше, чем значение параметра «количество новостей на страницу», то появляется блок постраничный навигации. Параметр «количество страниц в блоке» определяет, сколько ссылок на разные страницы будут одновременно доступны пользователю сайта.

Второй параметр, «вид страничной навигации», определяет то, как будет строиться этот блок. При значении параметра «блоками по N страниц», посетителю сайта будут показаны страницы с 1 по N. При большем количестве доступных страниц, пользователю сайта будет доступен переход к следующему блоку, а при клике в по страницам в рамках одного блока, этот блок никак не изменяется. Если же значения второго параметра установлено в «текущая страница в центре», разница заключена лишь в том, что при клике пользователя по конкретной странице, блок выбора страниц перестраивается таким образом, что бы выбранная страница была в центре блока.

Сформировать форму отбора

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

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

Название параметра действия Описание
Шаблон для вывода Выбирается один из файлов, который будет использоваться в качестве шаблона для формы отбора.

Таб. 5: Перечисление параметров действия «Сформировать форму отбора».

Внешний вид формы отбора, и то какой именно отбор будет использован, определяется в шаблоне, с помощью использования (или не использования) доступных переменных. Модуль может установить ограничить выборку новостей по архиву двумя способами:

  • все новости за конкретную дату;
  • новости за период, в котором одна из границ может быть не указана.

Шаблоны

Сначала рассмотрим блоки, которые используются в шаблонах действий «Сформировать ленту» и «Сформировать архив». Затем перейдём к рассмотрению блоков, используемых только в действие «Сформировать архив». И в саму последнюю очередь рассмотрим блоки действия «Показать отбор». О используемых только в действие «Сформировать архив». И в саму последнюю очередь рассмотрим блоки действия «Показать отбор».

Общие блоки

В таблице 6, представлен перечень блоков, используемых в шаблонах построения ленты новостей, и архива новостей, то есть они являются общими для этих двух действий.

Заголовок блока Прямые переменные Переменные-блоки Описание
@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, в том случае, если у новости не определёно ни название источника, ни ссылка на него.

Таб. 6: Перечень всех блоков используемых для построения ленты новостей в действии «Сформировать ленту».

Блоки страничной навигации

Теперь рассмотрим дополнительные блоки, которые обрабатываются только действием «Сформировать архив» для того, что бы сформировать навигацию по большому объёму информации в архиве. В Таблице 7 приведено описание блоков, которые используются для формирования постраничной навигации.

Заголовок блока Прямые переменные Переменные-блоки Описание
@page_no - - Выводиться вместо переменной pages в блоке @content (Таб. 6) в том случае, если в сформированном архиве нет необходимости использовать блок постраничной навигации.
@page_template - first, backward, previous, pages_block, next, forward, last Выводиться вместо переменной pages в блоке @content (Таб. 6) в том случае, если в сформированном архиве необходима постраничная навигация. Переменная 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 друг от друга.

Таб. 7: Перечень блоков, используемых для формирования постраничной навигации внутри архива новостей.

Пусть вас не пугает объём блоков, все они достаточно просты для понимания. Прежде всего, следует обратить внимание на блок @page_template. Именно в нём вы определяете взаиморасположение элементов навигации по страницам. А за тем, в каждом из блоков определяете, как выглядит тот или иной элемент навигации (будь то ссылка на самую первую страницу, или переход к следующему блоку).

Если вы не хотите использовать все элементы навигации, то вам просто не надо использовать соответствующую переменную-блок в блоке @page_template.

Следует отметить, что при описании всех этих блоков используется термин «страницы», который обозначает не страницы сайта (те что представлены в структуре), а страницы архива новостей, на которые разбивается весь архив.

Блоки полного представления новости

В Таблице 8 представлены остальные блоки шаблона, которые используются в действии «Сформировать архив» и предназначены для управления внешним видом полного текста новости, который формируется при клике по конкретной новости из архива или ленты.

Заголовок блока Прямые переменные Переменные-блоки Описание
@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, в том случае, если у новости есть название источника, но нет ссылки на сайт.

Таб. 8: Перечень блоков, используемых в действие «Сформировать архив», для вывода полного текста новости.

Блоки формы отбора

Заключительным набором блоков, которые нам необходимо рассмотреть являются блоки, используемые в шаблоне действия «Показать отбор». В Таблице 9 представлен перечень этих блоков.

Заголовок блока Прямые переменные Описание
@form url, date_alone_name, date_start_name, date_stop_name Блок содержит визуальное представление формы, в которой пользователь сайта осуществляет отбор новостей. Переменная url будет заменена адресом, на который отправляются данные. Остальные переменные заменяются именами используемых параметров.

Таб. 9: Перечень блоков, используемых в действии «Сформировать форму отбора»

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

01.  <!-- @form  -->
02.   <form action="%url%" method="GET">
03.  	<fieldset>
04.  	   <label for="date_alone">Дата:</label>&nbsp;<input id="date_alone" type="text" name="%date_alone_name%" value=""/>
05.  	<input type="submit" name="submit" value="Отбрать"/>
06.   </fieldset>
07.  </form>

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

Переменные

Мы рассматриваем только прямые переменные, так как переменные-блоки заменятся блоками и уже были описаны выше. В Таблице 10 приведено описание переменных, используемых во всех блоках шаблонов.

Переменная Блоки применения Описание
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* (все участвующие в формировании постраничной навигации). Замещается номер страницы (в зависимости от используемого блока).

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

constructor/news.txt · Последние изменения: 2013/06/18 12:01 — 212.46.195.206