PdoMenu и Tv
        Здравствуйте, помогите сделать такую штуку. 
В меню выводятся категории, у категорий есть TV — sale, если значение TV=1, то выводится рядом картинка prntscr.com/9f6sn4.
Вывод меню:
    
    
                                                                                
            В меню выводятся категории, у категорий есть TV — sale, если значение TV=1, то выводится рядом картинка prntscr.com/9f6sn4.
Вывод меню:
[[pdoMenu?
					&startId=`2678`
	           			&level=`1`
                                        &includeTVs=`sale`
					&tpl=`@INLINE <li[[+classes]]><a  href="[[+link]]"  [[+attributes]]>[[+menutitle]][[isSale]]</a>[[+wrapper]]</li>`]]Сниппет isSale:$sale = $modx->resource->getTVValue('sale');
 if ($sale==1) {   
  return '<img src="/images/dif/flame-1.png" height="20">'; 
  }
else { 
     return '';
      }Но значение ТВ, которое получает функция всегда равно 0 (значению по дефолту). Как правильно написать сниппет?    Комментарии: 4
                да тут как бы 2 варианта:
1) Fenom (вроде правильно написал)
2) вынести tpl в чанк, потому что в inline не работают конструкции типа :default
tpl.menuRow
А ну и вариант со своим сниппетом.
                    1) Fenom (вроде правильно написал)
[[pdoMenu?
&startId=`2678`
&level=`1`
&includeTVs=`sale`
&tpl=`@INLINE <li{{+classes}}><a  href="{{+link}}"  {{+attributes}}>{{+menutitle}}{{+tv.sale:default=`<img src="/images/dif/flame-1.png" height="20">`}}</a>{{+wrapper}}</li>`]]2) вынести tpl в чанк, потому что в inline не работают конструкции типа :default
[[pdoMenu?
&startId=`2678`
&level=`1`
 &includeTVs=`sale`
&tpl=`tpl.menuRow`
]]tpl.menuRow
<li[[+classes]]><a  href="[[+link]]"  [[+attributes]]>[[+menutitle]][[+tv.sale:default=`<img src="/images/dif/flame-1.png" height="20">`]]</a>[[+wrapper]]</li>А ну и вариант со своим сниппетом.
                Создаете ТВ чекбокс (флажок, я назвал его sale), пишите:
Вызов pdoMenu (стандартный вызов с bootstrap'ом):
Смысл в том, чтобы в нужной категории поставить галочку на «Распродажа» и таким образом выводить картинку в меню, которая показывает юзеру, что мол тут дешево.
Попробуйте.
                    Возможные значения:
Ваш текст==yesДелаете этот ТВ доступным для нужных шаблонов.Вызов pdoMenu (стандартный вызов с bootstrap'ом):
[[pdoMenu?
&startId=`0`
&level=`2`
&tplParentRow=`@INLINE
<li class="[[+classnames]] dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" [[+attributes]]>[[+menutitle]][[*sale:eq=`yes`:then=`some cod here`]]<b class="caret"></b></a>
<ul class="dropdown-menu">[[+wrapper]]</ul>
</li>`
&tplOuter=`@INLINE [[+wrapper]]`
]]То-есть мы просто подставляем [[*sale:eq=`yes`:then=`some cod here`]] в нужное место с нужным кодом, тегом img, например. Смысл в том, чтобы в нужной категории поставить галочку на «Распродажа» и таким образом выводить картинку в меню, которая показывает юзеру, что мол тут дешево.
Попробуйте.
                Да, спасибо) Почитал немного и именно так и реализовал)            
                    
                В сниппете ошибка в получении переменной. Вы берете этот параметр из ресурса, на котором размещен вывод меню (сниппет pdoMenu)правильно было бы в вашем случае передавать в сниппет переменную sale
                    [[pdoMenu?
					&startId=`2678`
	           			&level=`1`
                                        &includeTVs=`sale`
					&tpl=`@INLINE <li[[+classes]]><a  href="[[+link]]"  [[+attributes]]>[[+menutitle]][[isSale? &jopa=`[[+sale]]`]]</a>[[+wrapper]]</li>`]]Ну а в сниппете соответственно правильно лосить эту переменную$sale =(isset($jopa)?$jopa:0);
 if ($sale==1) {   
  return '<img src="/images/dif/flame-1.png" height="20">'; 
  }
else { 
     return '';
      }но более оптимизированным будет считаться вариант с феном            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.