ExpressionEngine中的导航和分页问题

时间:2011-06-04 21:15:42

标签: expressionengine

我已经建立了一个网站,其中有八个频道分为两个部分。

其中一个部分称为“文章”,在该部分中有两个频道,“功能”和“新闻”。

在我将分页引入等式之前,一切都很顺利。

在文章索引页面上,我有“最新”,“功能”和“新闻”标签,我浏览它们并根据细分选择条目:

<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/articles会显示所有条目 site.com/articles/features/显示功能频道中的所有条目
site.com/articles/news/显示新闻频道中的所有条目

这很有效,直到有一个包含多个页面的频道,并且在URL中添加了类似“P4”的内容,然后{segment_2}的未过滤索引变为P4,而不是我正在做的导航频道条目。

Paginate网址: site.com/articles/P4

我想我的问题是:

我是否正确导航或过滤条目?如果是这样,我现在如何分页?

谢谢!

1 个答案:

答案 0 :(得分:1)

这里有两种可能的解决方案。

您可以使用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标签之间放置的标记/逻辑(如果每个部分都相同)放入snippets来避免任何重复的代码。< / p>