<?php
$q = $modx->newQuery('modTemplate', array(
"resource.published" => 1,
"resource.deleted" => 0,
));
$q->innerJoin('modResource', 'resource', "resource.template = modTemplate.id");
$q->select(array(
"modTemplate.id", "uri", "templatename as name", "pagetitle",
"resource.id as resource_id", "count(*) as `total`", "resource.context_key",
));
$q->groupby("modTemplate.id");
foreach($modx->getIterator('modTemplate', $q) as $object){
$context = $modx->getObject('modContext', $object->context_key);
$context->prepare();
print "<p><b>{$object->name}</b> " .
"<sup>{$object->total} шт.</sup> — " .
"<a href='{$context->getOption('site_url')}{$object->uri}' target='_blank'>" .
"{$object->pagetitle} ({$object->resource_id})" .
"</a></p>";
}
К слову, если кому интересно, можете доработать скрипт так, чтобы по каждому УРЛу выполнялся CURL-запрос и проверял код ответа (200 должен быть) и был ли получен какой контент. Будет такой автоматизированный тест на наличие технических ошибок в шаблонах.UDP: немного доработал скрипт, теперь он еще и выводит количество документов по каждому шаблону. Небольшая ревизия чтобы не было кучи шаблонов по одному документу.
Получается типа вот такого:
ruFirstPage 5 шт. — Главная (1)
ruEventPage 803 шт. — Голоса влюблённых женщин (1113)
ruEvents 4 шт. — Выставки (13)
ruHystoryPage 1 шт. — История (14)
Источник: https://modxclub.ru/topics/skript-vyiborki-shablonov-dlya-proverki-2197.html
Объектная
2 комментария