[РЕШЕНО] JSON для pdoMenu
        Здравствуйте. У меня с системе несколько контекстов (основной и региональные сайты на поддоменах).
Шаблоны одинаковые.
Пытаюсь сделать вывод главного меню с ограничением по контексту:
Таким образом успешно выводятся все ресурсы с шаблоном id=16 из контекста web (текущего). Но мне нужно выводить ресурсы с шаблоном id=16 и id=13.
Делаю так:
Выводятся все ресурсы с шаблонами id=16 и 13, НО из ВСЕХ контекстов.
При записи вида:
Результат тот же
Спасибо за ответы!
    
    
                                                                                
            Шаблоны одинаковые.
Пытаюсь сделать вывод главного меню с ограничением по контексту:
[[pdoMenu? 
	&context=`[[*context_key]]`
	&select=`id,pagetitle,template`
	&parents=`0`
	&level=`1`
	&where=`{"template:LIKE":"%16%"}`
	&tpl=`@INLINE <li id="menu[[+id]]"><a href="[[+link]]">[[+pagetitle]][[+template]]</a><span></span></li>`
    	&tplOuter=`@INLINE [[+wrapper]]`
]]Таким образом успешно выводятся все ресурсы с шаблоном id=16 из контекста web (текущего). Но мне нужно выводить ресурсы с шаблоном id=16 и id=13.
Делаю так:
&where=`{"template:LIKE":"%16%","OR:template:LIKE":"%13%"}`Выводятся все ресурсы с шаблонами id=16 и 13, НО из ВСЕХ контекстов.
При записи вида:
&where=`{"template":"16","OR:template":"13"}`Результат тот же
Спасибо за ответы!
Комментарии: 7
[[++context_key]]            успешно выводятся все ресурсы с шаблоном id=16 из контекста web (текущего)[[*context_key]] работает, я проверил перед тем, как забивать в настройки
                Разобрался. Помог запрос, составленный вот так:
                    &where=`(template LIKE '%16%' OR template LIKE '%13%')`            
                Почему LIKE то? По шаблону то нужно точное совпадение.
Вот так должно работать без проблем:
                    Вот так должно работать без проблем:
&where=`{"template":16,"OR:template:=":13}`            
                Не работает, выводит из всех контекстов            
                    
                Это потому, что там еще дофига условий присоединяется. Нужно включать showLog и смотреть в запрос.
Вот так работает — условия во вложенном массиве, поэтому берутся в скобки:
Выходит такое условие выборки:
Не стесняйтесь использовать &showLog.
                    Вот так работает — условия во вложенном массиве, поэтому берутся в скобки:
[[!pdoMenu?
	&parents=`0`
	&level=`1`
	&context=`en`
	&where=`[{"template":1,"OR:template:=":2}]`
	&showLog=`1`
]]Выходит такое условие выборки:
WHERE ( ( `modResource`.`template` = 1 OR `modResource`.`template` = 2 ) AND ( `modResource`.`parent` IN (0) OR `modResource`.`id` IN (0) ) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `modResource`.`deleted` = 0 AND `modResource`.`context_key` = 'web' )
Не стесняйтесь использовать &showLog.
                Я использовал. У меня хромает синтаксис не много )) Спасибо за помощь!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.