Подскажите такой момент. Вот есть у меня катомный метод который обрабатывает и выводит данные. Он выводит их по шаблону, который установлен по УМОЛЧАНИЮ в системе. Но в системе имеются и другие шаблоны. Как заставить отрисовать страницу по указанному мною ID шаблона.
В поддержки пока подсказать не могут, дали ссылку на файл, но что то я не могу понять:
Возможно, Вам подойдет метод setMethodTemplateId()
Пример использования Вы можете найти в файле /classes/components/def_module.php на 195 строке.
у меня в итоге после подготовки данных в конце метода идет вызов и отрисовка страницы вот так:
return def_module::parseTemplate($blockTemplate, $result, $revId);
Как правильно указать принудительно нужный мне ID шаблона я не понимаю.
Я бегло пробежался по системе. Метод это нигде не используется. Есть одна зацепка. В файле /classes/system/subsystems/models/hierarchy/templatesCollection.php:
/**
* Получить Id шаблона, соответствующего иерархическому типу (модуль/метод)
* @param String $module модуль
* @param String $method метод
* @return Integer Id шаблона, привязанного к иерархическому типу
* @return Boolean false если шаблона не существует
*/
public function getHierarchyTypeTemplate($module, $method) {
if (class_exists($module) && method_exists($module, "setupTemplate")) {
$id = call_user_func(array($module, "setupTemplate"), $method);
} else {
$config = mainConfiguration::getInstance();
$id = $config->get("templates", "{$module}.{$method}");
}
return $this->isExists($id) ? $id : false;
}
Насколько я помню, в идеологии ЮМИ сочетание модуль\метод - это базовые иерархические методы, например, news/lastlist. Т.о., вам нужно узнать, к какому базовому иерархическому методу относится ваша страница (кажется, в настройках модуля Типы данных есть список всех зарегистрированных методов) и его передавать как имя метода. ИД шаблона вы знаете как посмотреть. Для модуля content, скорее всего, это будет пустая строка или имя модуля. Если это вам не поможет, ничего другого в голову не приходит.