Наверх

Скрипт выборки шаблонов для проверки

В разделе «Репосты» расположены чужие статьи, которые мне понравились или показались полезными.

Перевожу очередной сайт на смарти и меняю соответственно код всех шаблонов. А шаблонов 17 штук (наследство). Процесс был рутинный и что-то я засомневался, а вдруг где какой шаблон не так прописался и что надо бы проверить. А как проверить? Логично — открыть по одному документу каждого шаблона во фронте и посмотреть нет ли ошибок и вообще корректно ли открывается. Но документов много и по каждому идти выискивать документы по каждому шаблону не удобно. Вот написал скрипт, который делает такую выборку и сразу формирует ссылки на эти документы, по одному на каждый шаблон. Остается только кликнуть по разу каждую ссылку и посмотреть как что отображается.

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

  1. Alexandr Ivanov 24 января 2017, 11:31 # 0
    Почему не Fenom?
    1. Илья Уткин 24 января 2017, 16:25 # 0
      Потому что это не для фронтенда

    Авторизация

    через сервис Loginza:


    Шаблоны MODX

    1 2 Дальше »

    Объектная
    модель
    MODX