Wayfinder不尊重& level =`0`?

时间:2014-04-05 06:25:58

标签: modx modx-revolution wayfinder

我有以下Wayfinder电话:

[[Wayfinder? &startId=`0` &level=`0` &includeDocs=`5,6,7,11,12`]]

这应该显示列出的资源的链接,这些资源保存在父资源中。但是,他们没有。它们只能让它工作的方法是将父资源包含为startId:

[[Wayfinder? &startId=`3` &level=`0` &includeDocs=`5,6,7,11,12`]]

如果资源都在一个父母的下面,这是可以的,但我有各种各样的资源和父母,我无法显示。

有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果指定includeDocs,它将仅列出这些文档,因此您需要将startId设置为您的父级,或者在includeDocs调用中包含必要的父级。

(wayfinder.class.php中的第539行:)

/* if set, limit results to specific resources */
if (!empty($this->_config['includeDocs'])) {
    $c->where(array('modResource.id:IN' => explode(',',$this->_config['includeDocs'])));
}

答案 1 :(得分:0)

http://rtfm.modx.com/extras/revo/wayfinder - 你看到了博士吗?

&level - Depth (number of levels) to build the menu from. '0' goes through all levels. 

如果您想要排除某些文档 - 只需使用&excludeDocs属性或过滤&where

&where=`[{"template:!=": "4"}]` 

(获取除模板" 4&#34之外的所有文档;)。有条件的文档 - http://rtfm.modx.com/xpdo/2.x/class-reference/xpdoquery/xpdoquery.where