Помилка 404 при спробі вказати записи категорії

Я намагався протягом декількох днів розібрати цю річ. Я будую розділ новин на сайті, а під новинами - 3 категорії: оновлення, події, архів. Коли ви натискаєте одну з категорій, я хочу, щоб він містив список всіх записів, де він знаходиться під цією категорією, але незалежно від того, що я намагаюся, я просто отримав помилку 404.

Here are my settings: Channel short name: news Group Assignments > Category group: News Category Group Name: News News Categories: updates, events, archive

І ось мій поточний код (хоча я пробував багато різних варіантів та версії:

<!DOCTYPE HTML>
<html>
  <head>
      <meta charset="UTF-8">
      {embed="Pages/styles"}
      {embed="Pages/scripts"}
      {exp:channel:entries channel="news" dynamic="no" limit="1"}
      <title>{site_name} - {structure:page:title}</title>
      <meta name='keywords' content='{news-keywords}' />
      <meta name='description' content='{news-description}' />
      {/exp:channel:entries}
  </head>
  <body>
      {embed="Pages/header"}
      
{exp:channel:entries channel="news" category="{segment_2_category_id}" dynamic="no"}

{title}

Author: {author} Posted: {entry_date format="%M %j, %Y"} at {entry_date format='%h:%i %A'}

{news-content}

{/exp:channel:entries}
      {embed="Pages/footer}
  </body>
</html>
2

1 Відповіді

Тег каналу: записи не має параметра category_url_title . Якщо ви хочете скористатись структурою URL-адреси, вам потрібно буде встановити Low Seg2Cat . Після встановлення, ви можете використовувати {segment_2_category_id} , щоб отримати ідентифікатор відповідного категорію, пов'язаний з другим сегментом (який вказує на заголовок URL-адреси категорії). Додайте також тег dynamic = "no" , оскільки ви повідомляєте ЕЕ, що відображатиметься, замість того, щоб дозволяти ЕЕ вгадати, виходячи з URI.

Також у вас відсутня остаточна цитата з початкового тегу. І я думаю, вам потрібно додати style = "linear" до свого каналу: теги категорій, щоб уникнути вкладених елементів

  • .

    Отже, з встановленою Low Seg2Cat це виглядає так:

    {exp:channel:entries channel="news" category="{segment_2_category_id}" dynamic="no"}
        

    {title}

    Author: {author} Posted: {entry_date format="%M %j, %Y"} at {entry_date format='%h:%i %A'}

    {news-content}

    {/exp:channel:entries}
    
  • 1
    додано
    Ах, ви використовуєте структуру. Це змінює спосіб роботи сегментів URI. Вам потрібно буде зробити другий сегмент після того, як news буде динамічним. Я не експерт із структури, тому я не знаю, де/як це зробити.
    додано Автор Bruce the Hoon, джерело
    Спасибі за вашу допомогу. Але я все ще отримую помилку "Статус: 404 Сторінка не знайдено". Я насправді вже встановив Low Seg2Cat, і я залишив свої налаштування за замовчуванням.
    додано Автор ajcw, джерело
    Я також повинен згадати, що якщо я вручну введу ідентифікатор категорії (замість {segment_2_category_id}), він буде перерахувати записи там. Це просто не тягне інформацію через сегмент2 в URL-адресі. Ось сайт, я його тестування: oneoffs.co/news . Так, сайт є тільки голі кістки коду, просто будуючи шаблон для функціональних можливостей поки що. Я оновив оригінальний пост, щоб відобразити мій поточний код.
    додано Автор ajcw, джерело
    Я використовую Структуру, так.
    додано Автор ajcw, джерело
    Спасибі, це дає мені щось, щоб дослідити дещо більше.
    додано Автор ajcw, джерело