Мультидоменность – замена макроса content (tpl) — различия между версиями
Материал из Umicms
VITL' (обсуждение | вклад) (Новая страница: «Если необходимо, чтобы на втором домене системы, при использовании в шаблонах страниц мак…») |
VITL' (обсуждение | вклад) |
||
Строка 34: | Строка 34: | ||
Вызов, вместо макроса %content%, следующий: | Вызов, вместо макроса %content%, следующий: | ||
<pre> | <pre> | ||
− | % | + | %custom customcontent('default_sait2')% |
</pre> | </pre> |
Версия 12:50, 26 августа 2011
Если необходимо, чтобы на втором домене системы, при использовании в шаблонах страниц макроса %content%, использовался шаблон не default.tpl, то для этой задачи можно воспользоваться кастомным макросом, который пропишем в файле classes/modules/custom.php. Макрос настроен для страниц типа Новость, Лента новостей, Раздел каталога, Объект каталога.
public function customcontent($tpl){
$cmsController = cmsController::getInstance();
$current_domain_id = $cmsController->getCurrentDomain();
$current_module = $cmsController->getCurrentModule();
$current_method = $cmsController->getCurrentMethod();
$mod_met = $current_module . "-" . $current_method;
switch($mod_met){
case 'catalog-category':
$ini = cmscontroller::getInstance()->getModule('catalog');
return $ini->category($tpl);
break;
case 'catalog-object':
$ini = cmscontroller::getInstance()->getModule('catalog');
return $ini->object($tpl);
break;
case 'news-rubric':
$ini = cmscontroller::getInstance()->getModule('news');
return $ini->rubric("", $tpl);
break;
case 'news-item':
$ini = cmscontroller::getInstance()->getModule('news');
$element_id = (int) $cmsController->getCurrentElementId();
return $ini->view($element_id, $tpl);
break;
default:
return "%content%";
}
}
Вызов, вместо макроса %content%, следующий:
%custom customcontent('default_sait2')%