MODX-фильтры в TV-select
Добрый день! Я не волшебник, а делать кому-то нужно))
Есть тв-шка, с выбором ресурсов:
что б имя выводилось в две строки, у всех, что б аккуратненько!
И вот этот
присутствует в списке выбора и выглядит неочень:
Иван
Антонов, Апполнарий
Крузенштерн,
В страницах я делаю им фильтр:
[[+pagetitle:strip_tag]] и всё хорошо.
Вопрос: Как сделать этот стриптаг вот тут:
Есть тв-шка, с выбором ресурсов:
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 8 ORDER BY `pagetitle` ASC
Однако у ресурсов в имени существует тег что б имя выводилось в две строки, у всех, что б аккуратненько!
И вот этот
присутствует в списке выбора и выглядит неочень:
Иван
Антонов, Апполнарий
Крузенштерн,
В страницах я делаю им фильтр:
[[+pagetitle:strip_tag]] и всё хорошо.
Вопрос: Как сделать этот стриптаг вот тут:
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 8 ORDER BY `pagetitle` ASC
Заранее сердешно благодарю! Комментарии: 20
можно попробовать, у BR пробелы только убрать
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` REPLACE(pagetitle,'< br >',' ') WHERE `parent` = 8 ORDER BY `pagetitle` ASC
Не помогло ( Вообще выборку не выводит, только окошко с ID
Что можно еще попробовать?
Что можно еще попробовать?
Можно попробовать не SELECT а EVAL
что-то типа такого
что-то типа такого
@EVAL return $modx->runSnippet('pdoResources', array('parents'=>'8', 'depth'=>'1', 'limit' => '0', 'tpl' => '@INLINE [[+pagetitle:strip_tag]]==[[+id]]||','tplLast' => '@INLINE [[+pagetitle:strip_tag]]==[[+id]]' ));
Выглядит так себе, но по идее должно работать. Хотя вроде как не работают фильтры вывода в инлайн чанках и может понадобиться создавать реальные чанки, либо используя {{ }} вместо [[ ]] либо используя {{ }} вместо [[ ]]Евгений, а поделитесь пожалуйста, что за синтаксис двойных фигурных скобок? Что он означает? Где почитать?
Евгений что то явно употребляет
Может есть идеи как сделать, что б работало?))
Не вижу никаких проблем, берете тот вариант что предложил евгений. Используете внутри синтаксис фенома и модификатор строки | replace
Я такое пока не умею, будет добры пожалуйста черканите примерчик, буду отталкиваясь от него познавать азы фенома)
Так попробуй
@EVAL return $modx->runSnippet('pdoResources', array('parents'=>'8', 'depth'=>'1', 'limit' => '0', 'tpl' => '@INLINE {$pagetitle | replace:'
' : ''}=={$id}||','tplLast' => '@INLINE {$pagetitle | replace:'
' : ''}=={$id}' ));
Я не думал, просто переписал вариант @Евгений Webinmd под феном, как советовал @Николай Савин Евгений что то явно употребляетПохоже на тяжелое употребление документации, не позавидуешь.
а тут по другому не получается
почитать тут
двойные {{ — фишка парсера pdotools, позволяет в инлайн чанках использовать фильтры вывода. Ну и вообще вроде как от других проблем избавляет, редко использую инлайн, поэтому точнее не скажу
двойные {{ — фишка парсера pdotools, позволяет в инлайн чанках использовать фильтры вывода. Ну и вообще вроде как от других проблем избавляет, редко использую инлайн, поэтому точнее не скажу
Да, в инлайнах фильтры не работают (хотя иногда работают!!!), хочется всё же найти предельно изящное решение))
работают фильтры если использовать не родной синтаксис а {{ }}
Ну и вообще удобный модификатор notags {{$pagetitle|notags}} — избавит от всего
Ну и вообще удобный модификатор notags {{$pagetitle|notags}} — избавит от всего
Что это за синтаксис и почему modx его понимает?
это для парсера pdoTools сниппетов. Если не включать обработку этим парсером и использовать его например в getResources то modx им подавится и выведет как есть
Я присоединяюсь к вопросу @Александр Мельник где почитать про это? Про одинарные фигурные скобки знаю, а вот про двойные не встречал инфу.
есть небольшое упоминание в документации по парсеру что в ссылках выше, но информация раскидана по чуть. На сколько помню было упоминание Василием этого синтаксиса в одном из описаний релиза pdoTools либо просто где-то в каких-то обсуждениях упоминалось, давно это было
Уважаемые коллеги, спасибо вам за ваше жаркое участие! Победителем разума над недоразумением объявляется вот эта абракедабра:
@EVAL return $modx->runSnippet('pdoResources', array('parents'=>'8', 'depth'=>'1', 'limit' => '0', 'deleted' => '0', 'tpl' => '@INLINE {{+pagetitle:notags}}=={{+id}}||'));
Также отдельное спасибо за науку с фильтрами, работающими в инлайн чанках через фигурные скобочки {{+pagetitle:notags}}!
Если вдруг надоумите, как заставить здесь работать
<b>{{+pagetitle:notags}}=</b>
— совсем сказочно будет)))))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.