SEOSuite - после установки!
Иногда бывает после установки seo Suite, мета теги типа canonical & robots не появляются у документа сразу, а только после его сохранения, и чтобы не заходить в каждый документ и пере сохранять, написал небольшой сниппет.
Код сниппета: OnDocFormSave_seo
Далее создаем ресурс к примеру:
Заголовок*: OnDocFormSave_seo
Шаблон: Пустой шаблон
Использовать HTML-редактор: Нет
Кэшируемый: Нет
Содержимое:
ЗЫ: Писал на коленке по-быстрому)))
Код сниппета: OnDocFormSave_seo
<?php
// Создаем новый запрос к ресурсам MODX
$query = $modx->newQuery('modResource');
// Устанавливаем лимит на количество возвращаемых ресурсов
$query->limit(50);
// Фильтруем ресурсы, исключая те, которые имеют свойство, содержащие 'seosuite'
$query->where(['properties:NOT LIKE' => '%seosuite%']);
// Получаем коллекцию ресурсов, соответствующих запросу
$resources = $modx->getCollection('modResource', $query);
if($resources){
// Обрабатываем каждый найденный ресурс
foreach ($resources as $res) {
// Сохраняем изменения в ресурсе
$res->save();
// Вызываем событие после сохранения ресурса
$modx->invokeEvent('OnDocFormSave', array(
'mode' => modSystemEvent::MODE_UPD,
'id' => $res->get('id'),
'resource' => &$res,
'object' => &$res,
));
// Выводим информацию о ресурсе
print_r(['id' => $res->id, 'seoProps' => $res->properties]);
}
// Если есть обновленные ресурсы, перезагрузим страницу
return '<script>window.location.reload();</script>';
} else{
return 'Все ресурсы уже получили properties => seosuite';
}
Далее создаем ресурс к примеру:
Заголовок*: OnDocFormSave_seo
Шаблон: Пустой шаблон
Использовать HTML-редактор: Нет
Кэшируемый: Нет
Содержимое:
<pre>
[[OnDocFormSave_seo]]
</pre>
Открываем страничку и ждем пока обновятся документы…ЗЫ: Писал на коленке по-быстрому)))
Поблагодарить автора
Отправить деньги