DevCraft Документации
Руководства

Публичный вывод v210.1.0

Как показать связанные новости на полной новости и на форме добавления с сайта.

Полная новость

В шаблон полной новости темы добавьте вставку (путь от корня сайта; относительные ../ DataLife Engine вырезает):

{include file="devcraft/src/modules/Connections/Controller/show_connections.php?news_id={news-id}"}

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

Параметры вставки

ПараметрСмысл
news_idid текущей новости (основной)
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=chronologytemplates/{skin}/devcraft/connections/chronology/list.tpl
template=chronologytemplates/{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; &nbsp; и неразрывный пробел — не пустые. Подробнее: Условия в шаблонах DLE.

Типы связей создают в Типы связей; категории сборок — в Категории сборок.

Публичное добавление новости

Плагин выставляет тег {dc-connections} на публичной форме добавления и правки. В шаблоне темы этот тег должен быть внутри формы (#entryform), иначе черновик сборок не уйдёт вместе с новостью.

На месте тега — тот же виджет, что вкладка «Связи» в админке: сборки, порядок, типы связей. После сохранения новости черновик применяется к новой записи.

На этой странице