We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 43963
    • 13 Posts
    Подскажите, есть ли какой-нибудь модуль или встроенная возможность в modx evo (1.0.10), для того чтобы посмотреть у каких ресурсов установлен определенный шаблон.
    Например я выбираю шаблон "Внутренние страницы" и мне выводится список ресурсов, использующих этот шаблон.

    This question has been answered by kp52. See the first response.

      • 48611
      • 2 Posts
      Quote from: deline at Aug 15, 2014, 01:18 AM
      Подскажите, есть ли какой-нибудь модуль или встроенная возможность в modx evo (1.0.10), для того чтобы посмотреть у каких ресурсов установлен определенный шаблон.
      Например я выбираю шаблон "Внутренние страницы" и мне выводится список ресурсов, использующих этот шаблон.
      Элементы - Шаблоны - удалить шаблон (и тебе покажет какие ресурсы его использую, если используют кончено)
        • 43963
        • 13 Posts
        Quote from: vaskodegamma at Aug 19, 2014, 12:18 AM
        Quote from: deline at Aug 15, 2014, 01:18 AM
        Подскажите, есть ли какой-нибудь модуль или встроенная возможность в modx evo (1.0.10), для того чтобы посмотреть у каких ресурсов установлен определенный шаблон.
        Например я выбираю шаблон "Внутренние страницы" и мне выводится список ресурсов, использующих этот шаблон.
        Элементы - Шаблоны - удалить шаблон (и тебе покажет какие ресурсы его использую, если используют кончено)

        Не совсем подходит, так как если шаблон не используется, то он удаляется.
        • discuss.answer
          • 16278
          • 928 Posts
          Не слишком трудно составить для этой цели модуль, который выводит нужные данные из БД. Например:
          $templates = $modx->getFullTableName('site_templates');
          $content = $modx->getFullTableName('site_content');
          
          if (!$templateName = $modx->db->getValue($modx->db->select('templatename', $templates, "id=$templateId"))) {
          	return 'Invalid Template Id';
          }
          
          $result = $modx->db->select('*', $content, "template='$templateId'"); 
          
          if ($modx->db->getRecordCount($result) > 0) {
          	$resourceList = array();
          
          	while ($docs = $modx->db->getRow($result)) {
          		$resourceList[] = $docs['id'];
          	}
          
          	$output = "Template $templateName is assigned to resources ";
          	$output .= implode(', ', $resourceList);
          } else {
          	$output = "Template $templateName is not assigned to any resources";
          }
          
          return $output;
          


          $templateId вводится через конфигурацию модуля:
          &templateId=Template Id;int;


          :) KP
            • 43963
            • 13 Posts
            Quote from: kp52 at Aug 19, 2014, 07:12 AM
            Не слишком трудно составить для этой цели модуль, который выводит нужные данные из БД.

            Спасибо вам большое за помощь! smiley