<?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 комментария