Механизм выражения: как мне ввести правильный заголовок URL-адреса категории в ссылку на статью?

#expressionengine

#expressionengine

Вопрос:

Я работаю над сайтом EE 1.7.1, и мне нужно отобразить две самые последние записи статьи на домашней странице. Проблема в том, что мне также нужно связать эти записи с соответствующими страницами категорий для правильного отображения.

Вот код, который у меня есть на данный момент:

 {exp:weblog:entries weblog="articles" limit="2"}
   <p><a href="{site_url}article/{url_title}">{title}</a></p>
{/exp:weblog:entries}
 

Вот что я хотел бы сделать, чтобы он вводил соответствующие :

 {exp:weblog:entries weblog="articles" limit="2"}
  {categories}
   <p><a href="{site_url}{category_url_title}/{url_title}">{title}</a></p>
  {/categories}
{/exp:weblog:entries}
 

К сожалению, это работает некорректно. Как правильно это сделать?

Спасибо.

Ответ №1:

ExpressionEngine изначально не имеет метода включения имени категории в качестве сегмента URL-адреса при выводе URI постоянной ссылки, в отличие, скажем, от WordPress.

Конечно, это можно сделать, но потребуется взломать стандартные сегменты URL-адресов EE.

Если вам хоть немного любопытно, это было более подробно обсуждено в подкасте EE, Episide #10 за кулисами на Playgrounder.

Соответствующая дискуссия между Дэном Бенджамином и Райаном Айрлендом происходит между 18:45 — 26:20, когда Дэн подробно описывает, как он разработал уникальную структуру постоянных ссылок для Playgrounder:

Предупреждение о спойлере: URL-адреса Playgrounder создаются с использованием переменной last segment для поиска заголовка URL-адреса записи, в то время как остальная часть предыдущего URL-адреса выводится путем циклического перехода по категориям записи.

Например, учитывая следующий URL:

http://playgrounder.com/stuff/learning/books/sneaky-uses-for-everyday-things

Переводится на язык EE как:

/index.php/category_url_title/.../url_title

Ответ №2:

Вероятно, вам нужно добавить параметр dynamic=»off» в тег exp: weblog:entries.

Комментарии:

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

Ответ №3:

Вы пытаетесь показать последние две записи и связанные с ними категории? Например:

Заголовок записи
Опубликовано в: Подарки, Домашние животные, игрушки

Какой-то другой заголовок записи
Опубликовано в: Игрушки, малыши

Если это то, что вы пытаетесь сделать, следующий код выведет вышеуказанное:

 {exp:weblog:entries weblog="news" limit="2"}
    <p>
        <a href="{url_title_path=products/view}">{title}</a><br />

        {categories limit="1"}
            {if category_id != ""}Posted In: {/if}
        {/categories}

        {categories backspace="2"}<a href="{path=products/index}">{category_name}</a>, {/categories}
    </p>
{/exp:weblog:entries}
 

Комментарии:

1. Мне нужно иметь возможность включать ссылку на URL-адрес категории в ссылку на статью. Название категории не важно.