ModX getResources - Части в tpl показват съдържанието на родителя

Имам този getResourcesCall

[[!getResources? &tpl=GRTpl_2[[!getResources? &tpl=3[[!getResources? &tpl=4_[[*id]]]]

В GRTpl включвам [[+content]] тагове, но те показват само съдържанието на родителя, а не съдържанието на децата. Какво дава!?

АКТУАЛИЗАЦИЯ:

Използвам изходни филтри ModX в GRTpl. Така че имам списък с единичен избор, който показва парчета въз основа на селекцията. Ето GRTpl:

[[+tv.section_type:eq=`Type One`:then=`[[$Type One Chunk]]` ]]

[[+tv.section_type:eq=`Type Two`:then=`[[$Type Two Chunk]]` ]]

[[+tv.section_type:eq=`Type Three`:then=`[[$Type Three Chunk]]` ]]

[[+tv.section_type:eq=`Type Four`:then=`[[$Type Four Chunk]]` ]]

person symlink    schedule 14.11.2013    source източник


Отговори (2)


Така че намерих решението. В GRTpl предавам променлива във всяка част:

[[+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]] показва съдържанието на дъщерния ресурс.

person symlink    schedule 14.11.2013

Използваният по-горе метод ще доведе до много допълнителна обработка и по-бавен уеб сайт.

Две опции:

1) Прочетете отличната статия на Джейсън Кауърд за условните изрази.

Основният проблем е, че кодът, показан по-горе, ще бъде разширен и обработен от MODX, дори ако не отговаря на условието.

Така че вместо:

[[*field:is=0:then=[[!SomeScript]]:else=[[$SomeChunk]]]]

Използвайте:

[[[[*field:is=0:then=!SomeScript:else=$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=`{"Тип едно":"Чанк от тип едно","Тип две":"Чанк от тип две"} и т.н.

Google "modx pdotools" за документите.

Използвайки този метод, ускорих това, което беше телевизионно натоварено извикване на getResources, около 8 пъти по-бързо.

Вижте http://forums.modx.com/thread/90995/performance-question-with-getresources

person James    schedule 24.06.2014