[Решено] Как вывести чанк в не обработанном виде. Чтобы парсер MODX не сработал.
Есть задача выводить JS прямо в тело страницы.
Вставлять каждый раз «ручками» — как-то не очень хорошо.
Сначала был создан сниппет который выводит содержимое файла в код страницы — НО он обрабатывается парсером.
Уже смирились что JS на этом сайте не будет меняться и можно весь JS вставить в чанк и выводить чанком (шаблонов много и проще в одном месте поменять, чем все шаблоны перебирать)
Появилась необходимость вывести чанк не обработанным, НО:
getChunk — как и задумано парсит весь чанк.
parseChunk — все равно умудряется найти условия для простой автозамены.
Есть ли возможность вывести чанк без обработки парсером MODX.
Вставлять каждый раз «ручками» — как-то не очень хорошо.
Сначала был создан сниппет который выводит содержимое файла в код страницы — НО он обрабатывается парсером.
<?php
$js = file_get_contents($file, FILE_USE_INCLUDE_PATH);
return $js;
MODX срабатывает на коде JS т.к. встречает модкс-подобные скобки.Уже смирились что JS на этом сайте не будет меняться и можно весь JS вставить в чанк и выводить чанком (шаблонов много и проще в одном месте поменять, чем все шаблоны перебирать)
Появилась необходимость вывести чанк не обработанным, НО:
getChunk — как и задумано парсит весь чанк.
parseChunk — все равно умудряется найти условия для простой автозамены.
Есть ли возможность вывести чанк без обработки парсером MODX.
Комментарии: 4
можно сделать replace фигурных скобок на фигурные скобки с пробелом до и после
)) да. Такое очевидно решение.
Спасибо.
Изменил сниппет на
Осталось только с JS разобраться.
Спасибо.
Изменил сниппет на
<?php
$js = file_get_contents($file, FILE_USE_INCLUDE_PATH);
$js2 = str_ireplace ("[[", "[ [ " , $js);
return $js2;
все. код вставляется без изменений.Осталось только с JS разобраться.
$js2 = str_ireplace ("{", "{ " , $js);
$js2 = str_ireplace ("}", " } " , $js);
По сайту (кроме чанков) феном выключен (о чем не писал в вопросе).
В выше приведенном примере вызов через сниппет.
Или я чего не понимаю?
В выше приведенном примере вызов через сниппет.
Или я чего не понимаю?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.