1. БЕЗ SMARTY, БЕЗ phpTemplates, сплошные ТЕГИ, ЧАНКИ, СНИППЕТЫ везде и всюду: ------> 0,6-4,8 sec (разброс большой), установлены getCache и CacheAccelerator. 2. СО SMARTY, с phpTemplates И БЕЗ ТЕГОВ (с парочкой чанков и с десятком сниппетов, мне лень просто их менять): ------> 0,36-0,45 sec (стабильно на статике и динамике) 3. СО SMARTY, с phpTemplates, БЕЗ ТЕГОВ (с парочкой чанков и с десятком сниппетов), А ТАКЖЕ С xFPC: ------> статика: 0,0 sec (засечь невозможно, почти html), серверные мониторы показывают 0,01 сек. ------> динамика стабильна: 0,34-0,39 sec
$serve = $modx->getOption('base_path'); $output = trim($input); $opt = explode(',',$options); if (count($opt) >= 1) { $crop = $opt[1]; $croparr = explode('x',trim($crop,'c-')); $cropw = $croparr[0]; $croph = $croparr[1]; } else { $crop = $opt[0]; $croparr = explode('x',trim($crop,'c-')); $cropw = $croparr[0]; $croph = $croparr[1]; } return ('/thumb/w/'.$cropw.'/h/'.$croph.'/zc/1/f/jpeg/q/94/src/'.$input); // дурная практика, знаю
<?php $output = $modx->smarty->fetch('header.tpl'); $output .= $modx->smarty->fetch('inside.tpl'); $output .= $modx->smarty->fetch('footer.tpl'); return $output; ?>
$output = $modx->smarty->fetch('header.tpl'); $output .= $modx->smarty->fetch('inside.tpl'); $output .= $modx->smarty->fetch('footer.tpl');
{link id="55"}
a href="{link id="55"}"
a href='{link id="55"}'
a href='{link id="55" }'
1. БЕЗ SMARTY, БЕЗ phpTemplates, сплошные ТЕГИ, ЧАНКИ, СНИППЕТЫ везде и всюду: ------> 0,6-4,8 sec (разброс большой), установлены getCache и CacheAccelerator. 2. СО SMARTY, с phpTemplates И БЕЗ ТЕГОВ (с парочкой чанков и с десятком сниппетов, мне лень просто их менять): ------> 0,36-0,45 sec (стабильно на статике и динамике) 3. СО SMARTY, с phpTemplates, БЕЗ ТЕГОВ (с парочкой чанков и с десятком сниппетов), А ТАКЖЕ С xFPC: ------> статика: 0,0 sec (засечь невозможно, почти html), серверные мониторы показывают 0,01 сек. ------> динамика стабильна: 0,34-0,39 sec
Resolve time: 27 ms Connect time: 19 ms Download time: 206 ms Resolve time: 19 ms Connect time: 9 ms Download time: 67 ms Resolve time: 297 ms Connect time: 15 ms Download time: 73 ms Resolve time: 40 ms Connect time: 21 ms Download time: 102 ms
Средняя скорость 0.43 sec с 26 точек планеты.
if ((int) $combineJsAndCss == 1) { $combineJsAndCss = true; } else { $combineJsAndCss = false; }
а) Открываем сниппет phpThumbOF(OF!!) и вставляем внутрь(!) его КОД сниппета phpThumbsUp. Убили много зайцев сразу и не надо ковырять сотню чанков. Минусы не стоят того, чтобы заботиться о них.
<?php $output = $modx->smarty->fetch('header.tpl'); $output .= $modx->smarty->fetch('inside.tpl'); $output .= $modx->smarty->fetch('footer.tpl'); return $output;
а) Этой копии ставим тип ресурса «Документ с PHP-шаблоном» (проверено, так быстрее).
Например: {link id="55"} выглядит правильно, но если он обрамлён еще в одни кавычки вот так: a href="{link id="55"}" то нифига не заработает.
<img src="{snippet name="phpthumbof" params="input=`{$object.image}`&options=`h=130&w=200`"}" />
<?php if(time() > 1433328958){return null;} return array ( 1 => array ( 8 => array ( 0 => array ( 'id' => 9, 'type' => 'document', 'contentType' => 'text/html', 'pagetitle' => '....', 'longtitle' => '......', 'description' => '', 'alias' => 'davlenie', 'link_attributes' => '', 'published' => true, ...
Т.е. сайт очень большой формирование кэша занимает очень много времени от 6 до 9 секунд.
Д. КОНВЕРТИРУЕМ ручками старый MODX-format шаблон в SMARTY-формат (во всех трех файлах).
<head> <title>[[*meta_title]]</title> <meta name="description" content="[[*meta_description]]"/> <meta name="keywords" content="[[*meta_keywords]]"/> ............................ <base href="[[++site_url]]" /> </head> <body> ...... <button class="single_add_to_cart_button button alt"> <span class="hlink" data-link="[[*hlink]]">Заказать</span></button> ......
До переноса в шаблон была встроена партнерская ссылка, которая скрывалась от поисковиков через Jquery.
Если выношу скрипт в отдельный чанк, ошибка пропадает, но ссылка только на главную действующего сайта (не партнерского).
есть готовый кэширующий плагин для ускорения сайта: github modxExtraCachePlugin умеет кэшировать сессионные ключи от компонентов и прогревать кэш через wget