modx - getPage - [[+ pageNav]]占位符始终具有值

时间:2014-03-25 13:53:04

标签: modx modx-revolution

如果没有分页,我会尝试隐藏getPage [[+ pageNav]]占位符。但我无法做到以下几点。

[[!+pageNav:notempty=`<ul class="overview__pagination">[[!+pageNav]]</ul>`]]

有人知道如何使用适当的输出过滤器隐藏元素吗? (没有自己的额外片段)。我还尝试了以下和其他一些(不太可能有工作变化)。

[[!+pageNav:isnot=``:then=`<ul class="overview__pagination">[[!+pageNav]]</ul>`]]`

3 个答案:

答案 0 :(得分:1)

您是否在缓存的块中调用该代码?

否则我也经历过这种情况,并且看起来自定义占位符有时会表现得那样,这可能是因为它们在IF计算期间实际上有一些未经处理的值,但是当它实际输出时你什么也看不见。或者该值以某种方式“null”而不是“”,而modx输出过滤器可能会进行严格的比较。

如果您没有在缓存的块或部分代码中调用它,我建议您首先尝试使用其他getPage占位符,例如pageCounttotal。 像:

[[!+pageCount:gt=`1`:then=`<ul class="overview__pagination">[[!+page.nav]]</ul>`]]

如果仍然无效,那么简单摘要形式的最后手段将始终解决它,例如:

[[!outputPagination? &total=`[[+total]]` &limit=`XX` &output=`<ul class="overview__pagination">[[!+page.nav]]</ul>`]]

在摘录中:

if ($total > $limit) {
    return $output;
}

答案 1 :(得分:0)

不应该......

[[!+page.nav:notempty=`<ul class="overview__pagination">[[!+page.nav]]</ul>`]]

答案 2 :(得分:0)

嗯,有一个比第一个答案更容易的方法。就像TheMistaC说的那样,即使我的回答更容易:

[[!+page.nav:notempty=`
[[!+page.nav]]
`]]

我用它来显示带有getResources的文章列表,所以我知道这很好。