Обратные связи записейПоиск связанных родительских записей, для дочерних записей.
Что такое обратные связи?
ПРИМЕЧАНИЕ: Этот документ ссылается на определения и примеры, данные в разделе связанные записи. Поэтому вам необходимо прочитать этот раздел, если вы еще этого не сделали.
Запись, которая вызывает связанную запись, называют родительской или основной записью. Записи, которые связаны с ней, называют дочерними. В примере, приведенном в документации о связанных записях, события являются родительскими записями, поскольку они заполняются данными из записей об исполнителях, которые являются дочерними. Обратная зависимость должна будет по дочерней записи выводить на экран все родительские записи, в которых существуют с ней связи. Таким образом, запись об исполнителе может вывести любое или все события, в которых он учувствовал.
Вывод обратных зависимостей
1. Добавление тега related entry в ваш шаблон.
Для отображения связанной записи вам необходимо использовать следующие теги:
{reverse_related_entries orderby="title"}
{/reverse_related_entries}
Примечание: В отличие от тега related entries, тег reverse related entries не содержит параметра id, поскольку в нем нет никакой необходимости. Однако он поддерживает шесть типовых параметра, используемых другими тегами ExpressionEngine:
{reverse_related_entries weblog="default_site" status="open" sort="desc" orderby="title" offset="5" limit="10"}
{/reverse_related_entries}
Таким образом, вы можете использовать связанные записи из определенных разделов с определенным статусом, сортируя и упорядочивая их, как вы считаете нужным. Поскольку связи (зависимости) кэшируются, для снижения нагрузки на ExpressionEngine, это единственные параметры доступные в настоящее время.
Важно: Приведенные выше теги должны размещаться внутри тега {exp:weblog:entries}.
Ниже приведен пример использования тега related entries в теге weblog entry:
{exp:weblog:entries weblog="performers" limit="15"}
<h3>{title}</h3>
{body}
{reverse_related_entries sort="desc" orderby="title"}
<h2>{title}</h2>
{body}
{/reverse_related_entries}
Submitted on: {entry_date format='%M %d, %Y'}
{/exp:weblog:entries}
{if no_reverse_related_entries} Conditional
Условный оператор {if no_reverse_related_entries} позволяет вам определить контент, который будет отображаться, если запись не имеет связанной записи для указанного поля.
{exp:weblog:entries weblog="performers" limit="15"}
<h3>{title}</h3>
{body}
{reverse_related_entries sort="desc" orderby="title"}
{if no_reverse_related_entries}
<h2>No Events for This Performer</h2>
{/if}
<h2>{title}</h2>
{body}
{/reverse_related_entries}
Submitted on: {entry_date format='%M %d, %Y'}
{/exp:weblog:entries}
Какие типы данных обратных связей могут быть отображены?
Почти все, что является доступным в теге weblog entries, можно отображать как данные обратных зависимостей.
Важно: Для повышения быстродействия все связанные данные записей кэшируются системой, при отправке записей со страницы публиковать. В связи с этим возникает побочный эффект работы некоторых элементов, которые обычно являются динамическими, и поэтому они становятся недоступными для использования. Сюда входят различные статистические переменные:
{view_count_one}
{view_count_two}
{view_count_three}
{view_count_four}
{expiration_date }
{comment_expiration_date}
{recent_comment_date}
{comment_total}
{trackback_total}