Чистильщик html-лужаек

Работая с MODx, нам всем иногда приходится сталкиваться с одним из ее несовершенств (которое к счастью возникает весьма редко) - вставкой служебных тегов в html-код, которые в принципе не нужны и убрать их простым путем невозможно. Самый злостный загрязнитель — тег

<script type="text/javascript">var MODX_MEDIA_PATH = "media";</script>

который вставляется (иногда насколько раз!) после использования некоторого типа доп. параметров (TV), а также, часто некоторые сниппеты вставляют ссылки на css-файлы, идущие в комплекте с ними.

 

С помощью такого плагина и небольших знаний php можно придумать много полезных вещей.

Для борьбы с загрязнителями мы будем использовать плагин с всего одной/двумя строками. Итак:

  1. создаем новый плагин и называем его, например Cleaner
  2. вставляем следующий код:
    $modx->documentOutput = str_replace('<script type="text/javascript">var MODX_MEDIA_PATH = "media";</script>','',&$modx->documentOutput);
    (дублируем строки, если нам нужно убрать еще какой-либо тег)
  3. указываем обработку события OnWebPagePrerender
  4. сохраняем плагин

Готово! Теперь наш код чист и опрятен.

new comment 16.02.2007, 15:00:33

А как это повлияет на работу систему? ведь этот код там для чего то был нужен наверное? :)

new comment 25.02.2007, 18:37:08

когда говорится о "ненужных" и тегах и прочем, имеется ввиду что они НЕ НУЖНЫ и никак не влияют на работу системы. Это обычно результат ошибки в коде сниппетов или ядра системы.

new comment 01.03.2007, 00:09:45

Подход неверен в корне. Сначала тратить процессорное время на генерацию мусора, потом на его удаление.

Лучше потратить немного своего времени на исправление снипета или отправку баг-репорта.

new comment 03.04.2007, 14:09:49

Согласен с ur001, идея хуже некуда.

Но зато понятно как сделать прстой плагины :) Через плагины счётчики удобно подключать!

new comment 11.04.2007, 02:00:07

Верно вы uroo1 говорите... Но и ценность статьи нельзя недооценивать... Любая автоматизация +

new comment 11.04.2007, 06:01:45

uroo1 в который раз забывает про кеширование. Эта процедура совершается один раз, если страница помечена как кешируемая, и ни о какой дополнительной нагрузке на процессор речи быть не может.

Конечно же самый рациональный подход - переписать код. О фиксе var MODX_MEDIA_PATH в форуме полно информации. Вот только каждый раз лазить и исправлять строки в глубоко зарытых файлах у меня например, нет времени.

К тому же, MODx набирает такую популярность именно балансу возможностей и необязательностью быть программистом. Я, простой дизайнер-верстальщик, делаю на MODx сайты с таким функционалом, за который знакомые программисты в свое время (это было очень давно) просили трех-четырех-значные суммы у. е. Как же приятно класть эти деньги теперь в свой карман:)

Добавить комментарий

Для форматирования используйте синтаксис Markdown. Если вы не можете разобрать символы в рисунке, нажмите на него для автоматического обновления
Если вы не можете разобрать символы в рисунке, нажмите на него для автоматического обновления
Код безопасности: