Публичный вывод v210.1.0
Как показать связанные новости на полной новости и на форме добавления с сайта.
Полная новость
В шаблон полной новости темы добавьте вставку (путь от корня сайта; относительные ../ DataLife Engine вырезает):
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}"}На странице показываются сборки, в которых есть текущая новость: только видимые элементы, без самой открытой новости и без пустых сборок. Подпись связи берётся из настроек модуля или из заданной пары — отдельные технические ключи настроек в шаблоне не выводятся.
Параметры вставки
| Параметр | Смысл |
|---|---|
news_id | id текущей новости (основной) |
newsid | то же, что news_id (запасное имя) |
type | показать только эти категории сборок (id через запятую) |
type_exclude | скрыть эти категории сборок (id через запятую) |
category | показать сборки выбранной категории по её ярлыку |
category_exclude | скрыть категории сборок по ярлыкам (через запятую; аналог type_exclude) |
template | набор шаблонов из подпапки скина (см. ниже) |
Примеры с ограничением списка:
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}&type=1,3"}
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}&type_exclude=2"}
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}&category=seasons"}
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}&category_exclude=seasons,chronology"}
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}&template=chronology"}
{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}&template=chronology&category=chronology"}Шаблоны темы
Без template берутся файлы из devcraft/connections/. С параметром template=имя — из подпапки devcraft/connections/имя/ (в комплекте есть набор chronology). Если в текущей теме файлов нет, поиск идёт в Air, затем в Default (Default — запасной путь для обратной совместимости с DataLife Engine 20.0).
| Набор | Файлы в теме |
|---|---|
| По умолчанию | templates/{skin}/devcraft/connections/list.tpl |
| По умолчанию | templates/{skin}/devcraft/connections/item.tpl |
template=chronology | templates/{skin}/devcraft/connections/chronology/list.tpl |
template=chronology | templates/{skin}/devcraft/connections/chronology/item.tpl |
Комплектные шаблоны рассчитаны на перелинковку: ссылки ведут на ЧПУ полной новости ({full-link}), якорь — заголовок, список не прячется в свёрнутый блок. Не ставьте rel="nofollow" и не оставляйте только index.php?newsid=….
Теги в list.tpl
| Тег | Смысл |
|---|---|
{collection-id} | id сборки (для подписи заголовка) |
{collection-title} | название сборки |
{collection-description} | описание сборки |
{category-slug} | ярлык категории сборки |
{is-sequential} | 1, если сборка последовательная, иначе 0 |
{sort-order} | порядок сборки |
{items} | готовый HTML элементов |
Теги в item.tpl
| Тег | Смысл |
|---|---|
{title} | заголовок новости |
{news-id} | id новости |
{full-link} | адрес полной новости (как у темы, через DLEUrl) |
{relation-type} | подпись связи |
{comment} | комментарий к связи |
{alt-name} | ЧПУ-имя новости |
{category} | категории новости |
{date} | дата новости как в записи |
{date-iso} | дата в виде ГГГГ-ММ-ДД для <time datetime> |
Условия [has] (нужен DevCraft Admin 200.4.1+)
FullstoryController собирает list.tpl / item.tpl с compile(..., true), поэтому в теме можно писать ветки по тегам. Значения в кавычках — сначала подставляются теги, потом сравнение:
[has value="{comment}"]
<span class="dc-connections-comment">{comment}</span>
[/has]
[has value="{category-slug}"]
<span class="dc-connections-category-slug">{category-slug}</span>
[/has]
[has value="{collection-description}"]
<p class="dc-connections-description">{collection-description}</p>
[else]
[/has]comparison по умолчанию пустой (проверка «не пусто»). Пустое значение: только пробелы ASCII; и неразрывный пробел — не пустые. Подробнее: Условия в шаблонах DLE.
Типы связей создают в Типы связей; категории сборок — в Категории сборок.
Публичное добавление новости
Плагин выставляет тег {dc-connections} на публичной форме добавления и правки. В шаблоне темы этот тег должен быть внутри формы (#entryform), иначе черновик сборок не уйдёт вместе с новостью.
На месте тега — тот же виджет, что вкладка «Связи» в админке: сборки, порядок, типы связей. После сохранения новости черновик применяется к новой записи.