вывод тв

скажите как в карточке товара вывести значение тв, которое мы указали при создании товара

тв с одиночным списком выбора:
Не выбрано==0||одноэтажный==1||двухэтажный==2||с мансардой==3||коттедж==4
Максим
26 ноября 2017, 12:09
modx.pro
852
0

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

Баха Волков
26 ноября 2017, 22:54
0
Если значение, то:

[[*Название ТВ]]

или fenom:

{$_modx->resource.название_тв}

… но чую, что вопрос с подвохом :)
    Воеводский Михаил
    27 ноября 2017, 00:00
    +1
    Баха совершенно верно сказал. Если же требуется вывести отображаемое в админке значение, а не фактическое, то проще всего вообще убрать служебные значения, оставив только отображаемые.
      igos
      27 ноября 2017, 03:03
      +1
      в случае
      Не выбрано==0||одноэтажный==1||двухэтажный==2||с мансардой==3||коттедж==4
      попробуйте это:
      <?php
      $tv = $modx->getObject('modTemplateVar', array('name' => $name));
      $elements = $tv->get('elements');
      $element = explode('||', $elements);
      $els = array();foreach($element as $e) {
      list($elName,$elId) = explode("==", $e);
      $els[$elId] = $elName;}
      echo $els[$input];
      Вывод: [[+tvName:tvValue]]
      название сниппета — tvValue, а тв — tvName
        Воеводский Михаил
        27 ноября 2017, 09:41
        +1
        В сниппете используются 2 входных параметра. Корректный вызов в таком случае должен в себя включать параметр $name. А $input передаётся в любом случае — это значение ТВ, которое выводится плейсхолдером и к которому применяется фильтр.
        Максим
        27 ноября 2017, 11:01
        0
        спасибо вам
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          5