Как использовать MODx плагин для кэширования сниппетов
Материал из Веб программирование.
Хороший способ кэшировать сниппет MODX через плагины, используя событие OnDocFormSave.
По шагам:
1. Создайте чанк и оставьте его пустым. Назовите его любым именем, например: "Menu"
2. Создайте плагин. Добавьте код:
$myChunk = 'Menu'; //Ваше название чанка $params['startId'] = '0'; //Дополнительные параметры сниппета $params['level'] = '4'; //Дополнительные параметры сниппета $html = addslashes($modx->runSnippet('Wayfinder', $params)); $sql= "UPDATE " . $modx->getFullTableName("site_htmlsnippets") . " SET snippet='$html' WHERE name='$myChunk'"; $result= $modx->dbQuery($sql);
3. Поставьте событие OnDocFormSave + сохраните плагин.
4. Поменяйте ваш шаблон: замените вызов сниппета на чанк: [!Wayfinder?startId=0&level=4!] -> "testMenu"
Теперь, каждый раз, когда вы редактируете документ и сохраняете его, плагин срабатывает и сохраняет сниппет в чанк. Это немного ускорит сайт.
Таким способом, Вы можете кэшировать сниппет и дать PHP и MySQL перерыв на обработку кода.