Jevix - как отключить тег br?
Возникла проблема с простановкой тегов br вместо переноса строки. Хочется отключить соответствующую замену через вызов сниппета Jevix.
Самым простым вариантом решения кажется убрать отступ между тегами p в стилях, но ситуация такая, что br проставляется 2 раза:
1) перенос строки;
2) пустая строка.
Есть ли какое-то решение именно при вызове сниппета? Отключать глобально не хочется, чтобы не было проблем с тикетами.
Самым простым вариантом решения кажется убрать отступ между тегами p в стилях, но ситуация такая, что br проставляется 2 раза:
1) перенос строки;
2) пустая строка.
Есть ли какое-то решение именно при вызове сниппета? Отключать глобально не хочется, чтобы не было проблем с тикетами.
Комментарии: 52
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Нашел и прописал в вызове сниппета параметры
Если второй отработал нормально сразу, то первый игнорировался пока не выставил
Если тебе не нужно переключать этот параметр в разных местах вызова, то измени его в дефолтных параметрах сниппета.
Можно как-то это повесить с помощью плагина? Или только изменив код?
Решения вижу 2.
1. Вызывай через феном синтаксис с указанием параметра
2. Скопируй сниппет Jevix и в нем приводи к булеву типу этот параметр.
Не сработало.
Вот не поленился и проверил (Спасибо огромное modhost.pro за механизм тестовых сайтов!). Всё работает!!!
У тебя в наборах параметров глобально для тикетов эта опция включена?
joxi.ru/eAOYVYPI9lgERm
s21923
8GVLBfZco8xy
Только я вызываю сниппет с дефолтными параметрами.
Тебе ниже уже написали про тикеты. Их надо заново пересохранить с отключенным Jevix. В противном случае изменённый джевисом тикет сохранится в БД уже с тегом br. Поэтому ты и не можешь его изменить через сниппет. Чтобы это стало возможным, нужно в БД сохранять исходный текст тикета.
Если я выключаю эту настройку в наборах параметров joxi.ru/eAOYVYPI9lgERm ничего пресохранять не нужно. Текст выводится без переносов. Включаю её — переносит. Почему так работает, а с вызовом через сниппет — нет? Я чего-то не понимаю?
Я хотел понять — можно ли добиться того же (как я выключаю настройку joxi.ru/eAOYVYPI9lgERm) с помощью вывода контента тикета через сниппет Jevix.
Теперь объясняю, почему тебе кажется, что не работает вывод через сниппет. На самом деле он работает. Просто работает 2 раза. Первый раз сниппет Jevix вызывается в классе Ticket, когда идет получение ресурса по алиасу. В этот момент отрабатывают опции Ticket сниппета Jevix. Тут и добавляется тег br. Второй раз он вызывается в шаблоне. Отсюда напрашиваются 2 вывода:
1. Достаточно отключить опцию cfgSetAutoBrMode в параметрах Ticket.
2. Выводить контент тикета через сниппет Jevix нет никакой необходимости.
Так уж получилось, что я не программист. Что-то понимаю, но не настолько.
Под ты имеешь в виду отключение в наборах параметров joxi.ru/brR545Pi7EbxoA?
Если да, то я бы давно отключил cfgSetAutoBrMode для всех тикетов через наборы параметров. Но у меня есть больше кол-во тикетов где мне нужны автоматические br (потому что они публикуются через фронтенд пользователями без wysiwyg редактора). И так же есть тикеты в которых эти автоматические br не нужны (они создаются на бекенде). Выход нашёл такой:
Создал набор параметров Site. Связал его со сниппетом Jevix. В нём запретил тег br. Вывожу его в нужных шаблонах [[!Jevix@Site? &input=`[[*content]]`]]. Понимаю, что это криво, но другого выхода пока что не вижу. Если есть что-то более изящное для моей ситуации — буду признателен.
Может быть сможешь подсказать, где автор принудительно прописывал это ?
В сообществе уже могли создать небольшой плагин или пример кода для запуска через консоль, которые бы очищали кэш всех тикетов. Если не создали, то имеет смысл это сделать)
Спасибо, что ответили.
prnt.sc/rqkm3g
Но как писал Серегй выше, решение «до первого обновления». Насколько помню, раньше обновление бутстраповского набора шаблонов могло обновить и джевикс за компанию (но это не точно).
Можно было бы использовать второй вариант, а в нужных шаблонах выводить контент через Jevix с включенной опцией. Но тут возможны проблемы типа предпросмотра тикета. Ибо нет возможности повлиять на вывод.
Если есть возможность, помоги разобраться с ещё одной проблемой. Почему-то Jevix вырезает из контента тикета ссылки, в которые я проставляю плейсхолдеры Modx вида [[~88]]. Хотя в самом тикете ставлю галку «Выполнять теги MODx».
Ставлю галку «Выполнять теги MODx». Если отключаю Jevix — всё выводит без проблем. Но не хотелось бы совсем отключать Jevix. Пробую добавить исключение для содержимого href. Делаю это таким образом:
Вставляю это в наборе параметров Tickets (cfgAllowTagParams)
Но Jevix начинает ругаться в логах таким образом:
s22021.h10.modhost.pro
login: s22021
pass: rPzsAiaKbm7F
Тикеты сейчас поддерживает не Василий, а чел из этого сообщества. Попробуй обратиться к нему. У меня с ним контакта не получилось.
Я тебе за прошлый раз «спасибо» не отправил. Куда удобнее?
Решение такое:
В «Наборах параметров» ( joxi.ru/Q2KYEYPILob0Lr ) для Тикетов заменить в cfgAllowTagParams:
Это заменить на Спасибо @tolanych за подсказку.
документациикоду достаточно написать такИбо по-умолчанию атрибуту href присваивается тип #link. А при указании в атрибуте тега MODX, он фильтрацию не проходит и тег a вырезается. Поэтому нужно указать другой тип. А чтобы foreach не сломался, нужно указать типы для всех атрибутов. Иначе выпадает ошибка, о которой ты писал выше.
Самое интересное, что ты можешь указать практически любое значение
В этом случае Jevix не найдёт соответствующего фильтра и оставит значение без обработки. В случае же с типом #text, значение прогонится через функцию htmlspecialchars().
П.С. Вообще, у Jevix самый большой минус — это отсутствие документации. Не программисту разобраться тяжело.
Помог вариант с произвольным значением фильтра.
В этом случае, кстати, ты можешь динамически управлять поведением Jevix через параметры сниппета, в отличие от наборов параметров.