Вывести наименование из списка

Добрый день!

Есть TV Список (одиночный выбор), в нем данные:

Имя==1||Фамилия==2||Отчество==3

Выводя в в категории это TV [[+tv.mytv]] выводятся значения 1,2,3 — а как вывести наименование?

Интет перешерстил, но такого модификатора не нашел, или не по тем запросам искал.

Кто знает? Спасибо!
Роман
28 июня 2017, 12:37
modx.pro
1
1 305
0

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

Андрей
28 июня 2017, 17:28
0
Имя==Имя||Фамилия==Фамилия||Отчество==Отчество
    Роман
    28 июня 2017, 17:30
    0
    Это конечно вариант и я думал над этим, но придется такое кол-во статей руками переделать!

    Может есть какое модификатор?
      Андрей
      28 июня 2017, 17:53
      +2
      Можно сделать сниппет и вызывать его как фильтр

      Например назвать getTVNames
      $input = explode(',', $input);
      $output = array();
      
      $tv = $modx->getObject('modTemplateVar', array('name' => 'имя_tv')); // tv name
      $tv = $tv->toArray();
      
      $values = explode('||', $tv['elements']);
      
      foreach($input as $i) {
          foreach($values as $v) {
              $data = explode('==', $v);
              
              if ($i == $data[1]) {
                  $output[] = $data[0];
              }
          }
      }
      
      return implode(',', $output);

      Пример вызова
      [[+tv.mytv:getTVNames]]
        Роман
        28 июня 2017, 21:12
        0
        То что доктор прописал, спасибо!
          Сергей
          29 июня 2017, 00:55
          -1
          Хорошая тема! в свое время писал скрипт и пхп, который переделывал значения 1,2,3 в Имя, фамилия, отчество
          грубо говоря
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5