Здравствуйте читатели моего блога, в сегодняшней статье мы рассмотрим, как определить находиться ли пользователь на главной и выводить ему определенные блоки с информацией. При этом зачастую эта информация не должна быть видна на внутренних страницах сайта.
Я столкнулся с этой задачей, когда от дизайнера поступил шаблон интернет магазина, где шапка сайта имела различные блоки и дизайн на главной странице и внутренних страницах сайта. Понятно было, что нужно прописать условие и задать два типа вывода контента на различных типах страниц.
Давайте перейдет к практике.
Правки я вносил в файле — /catalog/view/theme/default/template/common/header.tpl.
Перед тем как выводить контент я прописал следующее условие:
<?php
$path = "common/home";
$url = $_SERVER['REQUEST_URI'];
if ($url == "/" or strripos($url, $path)) {
$is_home = TRUE;
}else{
$is_home = false;
}
?>
После чего задавал два варианта вывода:
Для главной страницы.
<?php if ($is_home) {echo "home_header";} ?>
Для всех остальных страниц сайта.
<?php if (!$is_home) {echo "other_header";} ?>
Маленькая фишка, но может стать весьма полезной, когда нужно задать какие-то определенные типы данных на разных страницах.
Для того чтобы выводить различный контент в этих блоках вам нужны будут минимальные познания в синтаксисе php.
На этом сегодня все, жду ваших комментариев и конечно же не забывайте подписаться на новости сайта, если вы этого еще не сделали.
Для того, чтобы у главной страницы тоже был заголовок h1, необходимо вносить изменения в файл шапки сайта и добавлять туда логические условия.
Полезная фича. Как по мне, то данное выражение я перенес бы в логику MVC каркаса, чтоб не мешать с шаблонной версткой, и выводил бы в шаблон /header.tpl. только условную переменную if($is_home){}.