Механизм выражений - следующая запись в определенной категории? - PullRequest
0 голосов
/ 06 июля 2011

ОК, другая проблема с Expression Engine. Я знаю это очень хорошо, но я просто изучаю категории!

Я искал этот ответ, но могу найти только то же самое. Мне нужно иметь следующую кнопку на странице title_permalink, которая переходит к следующей записи в этой категории. Я знаю, как вручную указать категорию, но это не сработает, так как она только даст мне записи из этой категории! Мне нужен способ, чтобы она знала, к какой категории относится данная запись. На данный момент мой код очень прост:

{exp:channel:next_entry}<a href="{path='projects-test/view'}" style="color:#fff;">Next Project</a>{/exp:channel:next_entry}

Я мог бы добавить category_id = "2", но что тогда происходит, когда человек входит в категорию, которая не является 2, все они используют один и тот же шаблон представления.

Моя структура выглядит следующим образом:

Страница выбора категории - список категорий с использованием тега category_name
Страница списка проектов - ссылки здесь с использованием канала: тег entry
Страница просмотра проекта - здесь она связана тегом title_permalink

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 06 июля 2011

ExpressionEngine по умолчанию Следующая / предыдущая запись, связывающая пары тегов , позволяет создавать ссылки на следующую или предыдущую запись на основе даты текущей записи.

Однако самое большое ограничение заключается в том, что они не столь надежны, когда речь идет об ограничении или фильтрации записей с несколькими категориями .

Если ваши потребности просты, вы можете использовать следующий код, чтобы ограничить ссылки Previous / Next показом записей в категории текущей записи:

{exp:channel:entries channel="channel_name"}
    ...

    {exp:channel:prev_entry category="{categories}{category_id}|{/categories}"}
        &laquo; <a href="{id_path=template_group/template}">Previous</a>
    {/exp:channel:prev_entry}

    {exp:channel:next_entry category="{categories}{category_id}|{/categories}"}
        <a href="{id_path=template_group/template}">Next</a> &raquo;
    {/exp:channel:next_entry}

    ...
{/exp:channel:entries}

Вы заметите, что ссылки {exp:channel:prev_entry} и {exp:channel:next_entry} вложены в тег {exp:channel:entries} и используете пару тегов {categories} для ограничения ссылок Next / Previous на категорию текущей записи.

Однако поймите, что этот код работает лучше всего, когда записи классифицируются с использованием одной категории .

В противном случае, при использовании пары тегов {categories} с записью, имеющей несколько категорий, ссылки «Предыдущая / Следующая» по умолчанию будут выводить первую категорию ..., которая может отличаться от порядка следования категорий для следующей или предыдущей записи.

Для более надежного решения вы найдете множество сторонних решений на Devot-ee для связывания записей .

Два моих любимых плагина для обработки связанных записей: Ближайшие записи от Адама Хана и Список записей от Laisvunas.

...