Сжатие HTML кода

Здравствуйте. Есть такой плагин для сжатия HTML кода:
/** HTML2Minify plugin for MODX Revo
* @internal @event OnWebPagePrerender
* @internal @properties &Minify=ID TV;integer;1
* @internal @modx_category HTML-code
*
* INSTALL
*        1) Assign Minify TV to your template
*        2) Minify TV values
*              - Yes==1||No==0 
*              - Default value: 1
*        3) Enjoy:)
*/
if($modx->event->name=='OnWebPagePrerender'){
  $id = $modx->resource->get('id');
  $page = $modx->getObject('modResource', $id);
  $tv = $page->getTVValue('Minify');
  if($tv == 1){
	$html = &$modx->resource->_output;
	$html = preg_replace('|\s+|', ' ', $html);
  }
}
Если я правильно понял, то для его активации нужно в шаблоне установить TV параметр. Не могу разобраться, подскажите как это сделать.
Павел
12 ноября 2016, 17:17
modx.pro
1
2 662
0

Комментарии: 10

Дмитрий Суворов
13 ноября 2016, 01:00
0
Судя по всему, необходимо для каждой страницы добавить TV, под именем «Minify». Если в нем будет содержаться 1 — то плагин сработает, если 0 — то нет.

Сам плагин повесить на событие OnWebPagePrerender
    Павел
    13 ноября 2016, 07:44
    0
    А TV куда добавлять? В шаблоне на вкладку параметры или в другое место?
      Дмитрий Суворов
      13 ноября 2016, 13:56
      0
      Просто создайте TV, присвойте его всем шаблонам и установите значение по умолчанию (1)
        Павел
        13 ноября 2016, 16:10
        0
        Нашёл в разделе «Элементы» пиктограмму «Новый TV», если её нажать и задать имя и свойства, то появляется в «Дополнительных полях» новый элемент Minify. Я всё правильно сделал?
Роман Садоян
13 ноября 2016, 02:20
0
Смысл от подобной минификации html кода? Тестил pagespeed, делал замеры скорости загрузки — ни на что «вырезанные пробелы» не влияют.
    Дмитрий Суворов
    13 ноября 2016, 13:55
    0
    этим занимаются, как правило, чтобы угодить тесту: developers.google.com/speed/pagespeed/insights/
      Pavel Zarubin
      13 ноября 2016, 16:28
      0
      Как написали выше — угодить пэйджспиду, тем самым уменьшить стоимость рекламы в google/yandex
        aligan
        12 апреля 2017, 09:24
        0
        а почему стоимость рекламы снижается?
      Василий
      08 ноября 2019, 17:03
      0
      Плагин выдает ошибку, если включить в настройках «сайт недоступен».
      Решается простой проверкой
      if($modx->event->name=='OnWebPagePrerender'){
      $id = $modx->resource->get('id');
      if($page = $modx->getObject('modResource', $id)){
      $tv = $page->getTVValue('Minify');
      if($tv == 1){
      $html = &$modx->resource->_output;
      $html = preg_replace('|\s+|', ' ', $html);
      }
      }

      а вообще, получение id ресурса, потом получение ресурса по id, а затем получение тв и проверку этого тв можно заменить одной строчкой и получится вот так (проверил у себя, работает):
      if($modx->resource->getTVValue('Minify') == 1){
      $html = &$modx->resource->_output;
      $html = preg_replace('|\s+|', ' ', $html);
      }
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        10