Данное решение поможет не делать разных шаблонов для главной и внутренней страниц сайта при небольших отличиях дизайна. Например нужно поставить логотип без ссылки на главную страницу, а на внутренних - тот же логотип со ссылкой на главную страницу. Seo-оптимизаторы рекомендуют избегать зацикленных ссылок, к которым относятся ссылки ведущие на текущую страницу.
public function is_home($element_id, $template = 'default') {
list($template_block_hp, $template_block_in) = def_module::loadTemplates("data/{$template}.tpl", "boolean_yes", "boolean_no");
$elem = umiHierarchy::getInstance()->getElement($element_id);
if (!$elem)
return def_module::parseTemplate($template_block_in, $element_id);
$psDef = $elem -> getIsDefault();
if ($psDef == '1')
return def_module::parseTemplate($template_block_hp, $element_id);
else
return def_module::parseTemplate($template_block_in, $element_id);
}
В папке /tpls/data/ создаем шаблон logo_is_home.tpl следующего содержимого:
<?php
$FORMS = Array();
$FORMS['boolean_yes'] = <<<END
<div class="logo"><img src="/images/logo.gif" alt=""></div>
END;
$FORMS['boolean_no'] = <<<END
<div class="logo"><a href="/"><img src="/images/logo.gif" alt=""></a></div>
END;
?>
В шаблоне страницы вызываем наш макрос % custom is_home(% pid%, 'logo_is_home') %