getResources构建顶级菜单

时间:2013-03-29 04:23:48

标签: modx-revolution

我正在尝试使用getResources为我的网站构建主导航。如何告诉getResources从当前上下文开始并立即查看当前上下文中的所有资源?

我看到我可以指定以下参数;

  1. 父母
  2. 资源
  3. 我已将父母设为0,但这不起作用。我不知道上下文的资源id所以我不能为资源参数指定它。

    我不能用getResources做我想做的事吗?我错过了什么?

4 个答案:

答案 0 :(得分:1)

http://rtfm.modx.com/display/ADDON/Wayfinder上构建导航,他有一个参数可用于上下文。

答案 1 :(得分:0)

使用& context,来自rtfm.modx.com的文档“应搜索哪个上下文。默认为当前上下文。”

所以你的最小getResources调用可能看起来像:

[[getResources? &parents=0 &tpl=menuTpl ]]

您不必指定上下文,getResources也非常需要服务器资源,除非您有特殊原因,否则请使用Wayfinder作为Vasis建议。

答案 2 :(得分:0)

我知道这有点晚了,但我刚刚想出了这个,测试并使用Revo 2.2.10

告诉getResources在当前上下文中启动的方式是将父项设置为当前文档的ID。

这将放在您的模板中:

<ul>
    [[getResources? &parents=`0` &depth=`0` &limit=`0` &sortby=`menuindex` &sortdir=`ASC` &tpl=`tpl_Navigation`]]
</ul>

然后在用作getResources(tpl_Navigation)模板的Chunk中:

<li>
    <a href="[[~[[+id]]]]">[[+menutitle:default=`[[+pagetitle]]`]]</a>

   [[getResources? &parents=`[[+id]]` &depth=`0` &totalVar=`numChildren[[+id]]` &limit=`0` &tpl=`tpl_Navigation` &sortby=`menuindex` &sortdir=`ASC` &toPlaceholder=`children[[+id]]`]]

   [[+numChildren[[+id]]:gt=`0`:then=`<ul>[[+children[[+id]]]]</ul>`:else=``]]
</li>

答案 3 :(得分:0)

如果您想使用getResource从当前上下文的顶部生成菜单,您还需要添加&depth=`0` &context=`[[*context_key]]`个参数。

但是对于modx中的简单菜单生成,我建议您使用getResource的Wayfinder插件。