в MODx CMS, Разработка

Вывод поля определенного документа MODx Revo

Каждый разработчик на MODx наверняка сталкивался с задачей вывода определенного поля конкретного документа.

Например, ситуация такова:

У нас есть бокс «Услуги». В бекенде — это является документом-папкой, соответственно список всех дочерних документов у нас будет списком услуг. Нам нужно, чтобы заголовок бокса был редактируемым. Т.к. в бекенде у нас уже есть поле со значением «Услуги» (это pagetitle), то нам не нужно создавать дополнительный ТВ-параметр, чтобы реализовать редактирование. Для этого используем сниппет getResourceField.

Вызывается он очень просто:

[[getResourceField? &id=`123`]]

Это означает, что будет выведено значение поля pagetitle (по умолчанию осуществляется вывод именно этого поля) документа 123.

Тогда наш бокс с редактируемым заголовком и списком услуг будет иметь такую конструкцию:

<div class=»box_head»>[[getResourceField? &id=`123`]]</div>
<div class=»box_content»>[[Wayfinder? &startId=`123`]]</div>

где,

class=»box_head», class=»box_content» — произвольные названия, можете писать так, как удобно и как предусмотрено в вашей верстке

[[getResourceField? &id=`123`]] — наш редактируемый заголовок

[[Wayfinder? &startId=`123`]] — вывод списка дочерних документов, в нашем случае — это услуги

Вот и все. Ничего сложного.

Написать комментарий

Комментарии

  1. А если нужно вывести результат TV-параметра? Например, есть ТВ, в который забивается телефон компании, и этот телефон нужно вывести на всех страницах.

    • Вы можете указать значение ТВ по умолчанию, тогда на всех страницах, где в ТВ не задано новое значение, будет выведено значение по умолчанию.