Проблемы с навигацией и нумерацией страниц в ExpressionEngine - PullRequest
1 голос
/ 05 июня 2011

Я создал сайт с восемью каналами, разделенными на два раздела.

Один из разделов называется «Статьи», и в этом разделе есть два канала: «Особенности» и «Новости».

Все работало отлично, пока я не ввел разбиение на страницы в уравнении.

На странице указателя статей у меня есть вкладки «Последние», «Функции» и «Новости», и я перемещаюсь по ними выберите записи, основанные на сегменте:

<ul id="tabs">
<li>{if segment_2 == ''}<strong>Latest</strong>{if:else}<a href="{site_url}articles/">Latest</a>{/if}</li>
<li>{if segment_2 == 'features'}<strong>Features</strong>{if:else}<a href="{path=articles/features}">Features</a>{/if}</li>                    
<li>{if segment_2 == 'news'}<strong>News</strong>{if:else}<a href="{path=articles/news}">News</a>{/if}</li>
</ul>
{if segment_2 == ''}{exp:channel:entries channel="features|news" limit="10" dynamic="no" order="date" paginate="both"}{/if}
{if segment_2 == 'features'}{exp:channel:entries channel="features" limit="10" dynamic="no" order="date" paginate="both"}{/if}                
{if segment_2 == 'news'}{exp:channel:entries channel="news" limit="10" dynamic="no" order="date" paginate="both"}{/if}  

site.com / article выводит все записи
site.com/articles/features/ отображает все записи на канале возможностей
site.com / article / news / выводит все записи в канале новостей

Это прекрасно работает, пока не появится канал с несколькими страницами и что-то вроде «P4» будет добавлено в URL, а затем {сегмент_2} для нефильтрованногоИндекс становится P4 вместо того, что я делаю для навигации по записям на канале.

Пагинация URL: site.com/articles/P4

Наверное, мой вопросthis:

Правильно ли я перемещаюсь или фильтрую записи?Если да, то как бы я сделал это сейчас с нумерацией страниц?

Спасибо!

1 Ответ

1 голос
/ 06 июня 2011

Здесь есть два возможных решения.

Вы можете использовать параметр paginate_base , чтобы явно указать EE использовать конкретный путь перед аргументом разбиения на страницы:

{if segment_2 == 'features'}{exp:channel:entries channel="features" limit="10" dynamic="no" order="date" paginate="both" paginate_base="articles/features"}{/if}                
{if segment_2 == 'news'}{exp:channel:entries channel="news" limit="10" dynamic="no" order="date" paginate="both" paginate_base="articles/news"}{/if}`

В качестве альтернативы - и мое предпочтительное решение - создать два новых шаблона в группе «статьи» с именами «новости» и «функции» и перечислить там свои записи. Вы можете избежать дублирования кода, превратив навигацию по вкладкам (и даже разметку / логику, которую вы планируете разместить между тегами channel:entries, если она будет одинаковой для каждого раздела), в фрагменты .

...