MIGX renderChunk: вывести имя производителя по его ID

Всем привет! Поскольку по моему запросу «migx renderchunk» нет ни одного результата с описанием того, как вывести имя производителя в общем списке записей, я решил написать эту заметку.

1. Создаём TV
Создаём TV типа MIGX называйте его как вам надо, на вкладке «Параметры ввода» в поле «Конфигурация» пишем название будущей конфигурации, у меня это будет vendor_discounts

2. Создаём конфигурацию MIGX


Поле «vendor» имеет тип listbox, в возможных значениях:
@SELECT `name`,`id` FROM [[+PREFIX]]ms2_vendors

Поле «vendorName» нужно скрыть, так как пользователь его заполнять не будет, оно нужно для вывода имени производителя

Для скрытия в настройках поля нужно сделать так:


3. Создаём render
Переходим к разметке колонок (Columns)


Фишка в том, что в колонках мы будем выводить скрытое поле «vendorName», в значение которого будет записан результат работы сниппета:
[[getVendorName?id=[[+vendor]]]]

4. Создаём сниппет getVendorName
<?php
if($vendor = $modx->getObject('msVendor', $id)){
    return $vendor->get('name');
}

Спасибо, @Алексей Смирнов, за подсказки.

На это всё!
Артур Шевченко
05 октября 2023, 17:56
modx.pro
3
753
+3
Поблагодарить автора Отправить деньги

Комментарии: 2

Денис Усманов
05 октября 2023, 18:06
+1
А разве нельзя просто в renderChunk кинуть:
[[!pdoResources?
    &class=`msVendor`
    &where=`{'id':'[[+vendor]]'}`
    &tpl=`@INLINE [[+name]]`
]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2