MIGX renderChunk: вывести имя производителя по его ID
Всем привет! Поскольку по моему запросу «migx renderchunk» нет ни одного результата с описанием того, как вывести имя производителя в общем списке записей, я решил написать эту заметку.
1. Создаём TV
Создаём TV типа MIGX называйте его как вам надо, на вкладке «Параметры ввода» в поле «Конфигурация» пишем название будущей конфигурации, у меня это будет vendor_discounts
2. Создаём конфигурацию MIGX
Поле «vendor» имеет тип listbox, в возможных значениях:
Поле «vendorName» нужно скрыть, так как пользователь его заполнять не будет, оно нужно для вывода имени производителя
Для скрытия в настройках поля нужно сделать так:
3. Создаём render
Переходим к разметке колонок (Columns)
Фишка в том, что в колонках мы будем выводить скрытое поле «vendorName», в значение которого будет записан результат работы сниппета:
4. Создаём сниппет getVendorName
Спасибо, @Алексей Смирнов, за подсказки.
На это всё!
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');
}
Спасибо, @Алексей Смирнов, за подсказки.
На это всё!
Поблагодарить автора
Отправить деньги
Комментарии: 2
А разве нельзя просто в renderChunk кинуть:
[[!pdoResources?
&class=`msVendor`
&where=`{'id':'[[+vendor]]'}`
&tpl=`@INLINE [[+name]]`
]]
Можно.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.