MIGX, отображение названия вместо id в grid

Всем привет!

Давно интересует вопрос каким образом в MIGX в гриде отображать названия ресурсов вместо id.

Суть такая, есть некий набор данный, где в одном поле список значений tv, а в другом список выбора документов.



В гриде это потом отображается в виде id, что естественно неудобно для пользования.

Поэтому возникает вопрос, как правильно сделать отображение названия вместо id?

Буду признателен за любую наводку.
Eugene
04 ноября 2015, 12:52
modx.pro
3
3 799
0

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

    Илья Уткин
    04 ноября 2015, 17:12
    +1
      Илья Уткин
      04 ноября 2015, 17:13
      +2
      В поле для рендера можно вызвать свой сниппет, который вернет нужное значение
        Илья Уткин
        04 ноября 2015, 17:14
        1
        +2
        Вот здесь подробнее: jonybang.blogspot.ru/2015/03/migx-modx.html
          Eugene
          06 ноября 2015, 18:47
          0
          Илья, вы может быть имели дело с вызовом сниппета для параметра с типом listbox-multiple?
          вариант вызова сниппета в поле шаблона чанка ([[filterTvCats? &ids=`[[+root]]`]]) работает только в случае если выбран один элемент в списке, если более одного, параметр прилетает пустым.
          Видимо дело в том что modx туда пытается передать массив, хз, что только не пробовал уже
            Илья Уткин
            06 ноября 2015, 19:39
            0
            У тв-параметра есть параметр (слава богу, хоть, у него нет параметров) — разделитель, или как-то так. И модх выводит значения через разделитель, например, через запятую. Как выглядит значение [[+root]]?
              Eugene
              08 ноября 2015, 14:38
              0
              да, у меня как раз там был разделитель, через запятую.
              но проблема в том что даже если в шаблон рендерера написать [[+root]], при наличии разделителя в выводе параметра, в ячейке пусто.
        Виталий
        28 января 2019, 11:52
        0
        Да уж… хочешь что-то сделать, сделай сам. Проблема как я понял существует со времен зарождения MIGX и никто ее никак не решал и даже не пытались. По крайней мере Бруно проблемы не видит в этом. Поковырял исходники, проблему нашел и пофиксил. Сейчас PR оформлю и зашлю, ждите обновление.
          Дмитрий Танцирев
          23 июля 2020, 15:10
          0
          При указании пресловутого this.renderChunk и указания ему renderchunktpl, MIGX начинает перезаписывать значение отрендеренного поля.

          Т.е., сначала в поле «ID параметра» сохранится значение: «37», как и положено.
          Потом произойдет рендер этого поля с помощью this.renderChunk.
          Да, в таблице у вас отобразится не ID, а текст «Цвет» который соответствует этому ID.
          Но! При этом, this.renderChunk — так же перезаписывает значение и в самой JSON-строке, которая сохраняется в TV поле.

          По итогу, при попытке вывести данное TV поле на сайте, у вас выведется не «37», а «Цвет».

          Зачем Bruno17 сделал таким образом — одному ему известно.

          Поэтому, если вы не хотите чтобы this.renderChunk перезаписывал значение вашего TV, придётся писать свой собственный рендер.
            Denis Bushaev
            15 ноября 2020, 17:21
            0
            Надыбал инфу как это исправить. При создании поля для рендера, оно не должно называться так же как и поле, с которым вы взаимодействуете. Ну то бишь. Например у вас есть поле id, в которое вы передаёте id ресурса. Для поля отображения не вы должны уже указывать id т.к. он его перезапишет в этом случае.
            Вот пример моего конфига вывода тайтла для ресурсов.

            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            10