我有这个getResourcesCall
[[!getResources? &tpl=
{GRTpl {1}} 1 &includeContent=
1 &includeTVs=
[[* ID]] &parents=
在GRTpl中,我包含]]
个标签,但它们只显示父级的内容,而不是子级的内容。是什么赋予了!?
更新
我在GRTpl中使用ModX输出过滤器。所以我有一个单选列表框,根据选择显示块。这是GRTpl:
[[+content]]
答案 0 :(得分:0)
所以我找到了解决方案。在GRTpl中,我将var传递给每个块:
[[+tv.section_type:eq=`Type One`:then=`[[$Type One Chunk? &content=`[[+content]]` ]]` ]]
[[+tv.section_type:eq=`Type Two`:then=`[[$Type Two Chunk? &content=`[[+content]]` ]]` ]]
[[+tv.section_type:eq=`Type Three`:then=`[[$Type Three Chunk? &content=`[[+content]]` ]]` ]]
[[+tv.section_type:eq=`Type Four`:then=`[[$Type Four Chunk? &content=`[[+content]]` ]]` ]]`
然后在块[[+ content]]中显示子资源的内容。
答案 1 :(得分:0)
上面使用的方法会导致大量额外处理和较慢的网站。
两个选项:
1)阅读Jason Coward关于条件语的优秀文章。
基本问题是上面显示的代码会被MODX扩展和处理,即使它不符合条件。
所以而不是:
[[*字段:是=
0
:然后=[[!SomeScript]]
:否则=[[$SomeChunk]]
]]
使用:
[[[[*字段:是=
0
:然后=!SomeScript
:否则=$SomeChunk
]]]]
有关详细信息,请参阅http://modx.com/blog/2012/09/14/tags-as-the-result-or-how-conditionals-are-like-mosquitoes/。
2)为了进一步增强,请将getResources替换为pdoResources并使用其出色的条件模板,这意味着您根本不需要使用条件语。
使用pdoResources,您可以执行以下操作:
[[!pdoResources? & includeTVs = section_type
& tplCondition = section_type
& conditionalTpls =`{“Type One”:“Type One Chunk”,“Type Two”:“Type Two Chunk”}
等等。
Google“modx pdotools”用于文档。
使用这种方法,我加快了电视加载的getResources调用的速度,速度提高了8倍。
请参阅http://forums.modx.com/thread/90995/performance-question-with-getresources