Минификация (сжатие) исходного кода (HTML) в MODX Revo на PHP
Продолжаем рубрику оптимизации сайтов. И вслед за CMS WordPress сегодня мы рассмотрим то, как делать минификацию (сжатие) исходного кода сайта в MODX Revolution.
В MODX Revolution хорошо, на мой взгляд, продумано решение многих технических вопросов. Так, например, для решения нашей задачи (сжатие исходного кода) мы воспользуемся стандартными функциями системы.
Для этого сделайте следующее.
1. Авторизуйтесь в панели управления вашим сайтом.
2. В левом меню переключитесь на вкладку «Элементы» и в открывшемся меню, в разделе «Плагины», нажмите на знак плюса, открыв тем самым страницу добавления нового плагина.
3. На открывшейся странице в качестве имени укажите «minify_html», а в качестве кода используйте этот:
<?php
$cid = $modx->resource->get("id");
$exclude = $modx->getOption("exclude", $scriptProperties, "12");
if(empty($cid)) {
return;
}
if(in_array($cid, explode(",", $exclude))) {
return;
}
$output = &$modx->resource->_output;
$pattern = array("/\>[^\S ]+/s", "/[^\S ]+\</s", "/(\s)+/s", "/<!--(?![^<]*noindex)(.*?)-->/");
$replace = array(">", "<", "\\1", "");
$output = preg_replace($pattern, $replace, $output);
После чего вверху страницы переключитесь на вкладку «Системные события». В общем списке вы находите одно событие «OnWebPagePrerender» в группе «System», отмечаете его и сохраняете новый плагин нажатием на соответствующую кнопку в правом верхнем углу вашего сайта.
После этого вы можете посетить основную версию вашего сайта и ознакомится с ее исходным кодом, который будет успешно сжат (будут удалены двойные пробелы, переносы строк и HTML-комментарии).
Если этого не произошло – пишите об этом в комментариях, постараюсь вам помочь.