получить документ по id в modx

Очень просто я хочу иметь несколько областей контента на одной странице. Обратите внимание, что это мой первый сайт Modx.

Пока у меня есть домашняя страница и созданы дочерние документы для субрегионов на домашней странице. Все, что я хочу, это вызвать их в шаблоне.

Например, есть документ с идентификатором 2, и я хочу, чтобы на главной странице был длинный заголовок (идентификатор 1).

Что-то типа :

[[~2*longtitle]] 

К сожалению, приведенное выше просто возвращает URL-адрес этого поддокумента, а не длинное название самого документа.

Пока я не нашел документации по этому поводу. Кто-нибудь знает, как это сделать?


person Fresheyeball    schedule 25.02.2013    source источник


Ответы (2)


У вас есть 2 варианта, трудный путь ~ маршрут, который вы выбрали ;) и легкий путь... который я также опишу.

Для того, что вы пытаетесь сделать, вы захотите использовать либо getResources http://rtfm.modx.com/display/ADDON/getResources, который позволит вам перебирать коллекцию ресурсов и извлекать нужные поля [в данном случае «контент»] или getresourceField http://rtfm.modx.com/display/ADDON/getResourceField, который позволит вам указать один ресурс и поле для извлечения, просто вызовите его несколько раз в своем шаблоне.

Вы можете попробовать:

[[getResources? &parents='[[*id]]' &tpl='myTpl' &includeContent='1']] 

Если нужно получить все дочерние ресурсы [до ~ 10 по умолчанию] текущего ресурса, вы должны создать шаблон для получения ресурсов для циклического перебора:

<h1>[[+longtitle]]</h1>
<p>[[+content]]</p>

обратите внимание на использование + вместо * для полей ресурсов

OR

простой способ, создайте переменные шаблона для дополнительных областей содержимого, вы также можете настроить их как области форматированного текста. таким образом, весь ваш контент для любой данной страницы находится в одном ресурсе ~ вам не нужно создавать дочерние ресурсы для хранения контента для вашего верхнего/нижнего колонтитула/боковой панели/и т. д.

В любом случае будет работать, хотя телевизионный метод может использовать меньше накладных расходов.

person Sean Kimball    schedule 25.02.2013
comment
Понимаю. Переменные шаблона действительно очень мощные! - person Fresheyeball; 26.02.2013
comment
Также обратите внимание, что фрагменты очень полезны для повторно используемых областей содержимого в ваших шаблонах, например [[$header]], [[$footer]], [[$sidebar]]. - person okyanet; 26.02.2013

вы можете использовать фастфилд

[[#12.pagetitle]]

или в звонке

[[#[[+id]].pagetitle]]

Вы также можете захватить все телевизоры этого ресурса, например

[[#12.myTv]]

см. также: http://rtfm.modx.com/extras/revo/fastfield

person user9527    schedule 25.02.2015