Dynamic GetResource,动态父级。
我的问题如下。我目前正在用get page、get resources、form it和wayfinder制作一个博客页面。这个问题需要对Modx和snippits有相当多的了解。我有页码和所有工作,我有一个模板页面,里面有我所有的调用(称为weblogTemplate)。此模板中包含以下wayfinder调用:Dynamic GetResource,动态父级。,dynamic,parent-child,modx,Dynamic,Parent Child,Modx,我的问题如下。我目前正在用get page、get resources、form it和wayfinder制作一个博客页面。这个问题需要对Modx和snippits有相当多的了解。我有页码和所有工作,我有一个模板页面,里面有我所有的调用(称为weblogTemplate)。此模板中包含以下wayfinder调用: [[!getResources? &parents=`5` &limit=`5` &tpl=`blogPost`]] [[!getPage?
[[!getResources? &parents=`5` &limit=`5` &tpl=`blogPost`]]
[[!getPage?
&elementClass=`modSnippet`
&element=`getResources`
&parents=`4`
&depth=`2`
&limit=`5`
&pageNavOuterTpl=`[[+first]][[+prev]][[+pages]][[+next]][[+last]]`
&pageVarKey=`page`
&pageFirstTpl=`<li class="controlFirst"><a[[+classes]][[+title]] href="[[+href]]">Eerste pagina</a></li>`
&pageLastTpl=`<li class="controlLast"><a[[+classes]][[+title]] href="[[+href]]">Laatste pagina</a></li>`
&pagePrevTpl=`<li class="controlPrev"><a[[+classes]][[+title]] href="[[+href]]"><<</a></li>`
&pageNextTpl=`<li class="controlNext"><a[[+classes]][[+title]] href="[[+href]]">>></a></li>`
&includeTVs=`1`
&includeContent=`1`
&tpl=`blogListPost`
]]
[[!getResources?&parents=`5`&limit=`5`&tpl=`blogPost`]
[[!getPage?
&elementClass=`modSnippet`
&element=`getResources`
&父母=`4`
&深度=`2`
&限制=`5`
&pageNavOuterTpl=`[+第一个][[+上一个][[+页面][[+下一个][+最后一个]]`
&pageVarKey=`page`
&pageFirstTpl=``
&pageLastTpl=``
&pagePrevTpl=``
&pageNextTpl=``
&includeTVs=`1`
&includeContent=`1`
&tpl=`blogListPost`
]]
如您所见,父项在此处设置为id号5。这对于主页来说很好,但是博客页面中连接的任何子页面也使用相同的模板,因此也将具有与父页面相同的菜单。您可以使用修复程序为一个页面创建一个模板,并继续使用不同的getResource调用,但请记住,这是一个博客im,不断添加新页面。用户不能(甚至不理解)制作模板和编辑任何代码。我想到的一个解决方案是将父id设置为动态的,这样它就可以根据当前所在的页面进行调整。例如,如果它位于id号为12的页面上,则会将父调用设置为12,从而显示id号为12的所有内容。如果有人有任何想法/想法/解决方案,我将非常感谢听取他们的意见
最好的解决方案是使用两个模板——一个用于主模板,另一个用于博客页面,并在博客模板中使用:
&parents=`[[*id]]`
用户的问题通过在系统设置中设置default\u模板来解决。这对我很有效:
[[!getPage?
&elementClass=`modSnippet`
&element=`getResources`
&parents=`[[*id]]`
&depth=`0`
&limit=`10`
&pageNavOuterTpl=`[[+first]][[+prev]][[+pages]][[+next]][[+last]]`
&pageVarKey=`page`
&pageFirstTpl=`<li class="controlFirst"><a[[+classes]][[+title]] href="[[+href]]">Eerste pagina</a></li>`
&pageLastTpl=`<li class="controlLast"><a[[+classes]][[+title]] href="[[+href]]">Laatste pagina</a></li>`
&pagePrevTpl=`<li class="controlPrev"><a[[+classes]][[+title]] href="[[+href]]"><<</a></li>`
&pageNextTpl=`<li class="controlNext"><a[[+classes]][[+title]] href="[[+href]]">>></a></li>`
&includeTVs=`1`
&includeContent=`1`
&tpl=`blogListPost`
]]
[[!getPage?
&elementClass=`modSnippet`
&element=`getResources`
&父母=`[*id]]`
&深度=`0`
&限制=`10`
&pageNavOuterTpl=`[+第一个][[+上一个][[+页面][[+下一个][+最后一个]]`
&pageVarKey=`page`
&pageFirstTpl=``
&pageLastTpl=``
&pagePrevTpl=``
&pageNextTpl=``
&includeTVs=`1`
&includeContent=`1`
&tpl=`blogListPost`
]]
感谢Vasis提供的帮助。我现在应该如何处理深度?如果我将其设置为1,它仍然显示所有页面。使用任何深度,只需按模板进行筛选:&where=`{“template:=”:8}
`我仍然没有完全得到你的答案。你能通过一个例子详细说明你的答案吗?在博客模板中使用:[!getResources?&parents=`[*id]`&where=`{“template:=”:8}&limit=`5`&tpl=`blogPost`]
-将8更改为模板id