Запрет вывода на определенных страницах

12
K
На сайте с 01.09.2015
Offline
8
1185

Есть логотип.

Нужно, чтобы он не отображался на определенных страницах, у которых в адресе есть "/blablabla/"

Например domain.com/blabla/bla с логотипом, а domain.com/blablabla/bla без логотипа.

Сам код отображения логотипа:

<div class="logo-place">

<a class="logo" href="/"><img src="<?php print $logo ?>" alt="" title="" /></a>
</div>
<?php } else { ?>
<a class="logo logo-no-frame" href="<?php print $front_page ?>"><img src="<?php print $logo ?>" alt="" title="" /></a>
<?php } ?>

Помогите пожалуйста

Samail
На сайте с 10.05.2007
Offline
369
#1

if (strpos($_SERVER['REQUEST_URI'], 'blablabla') == false){
S3
На сайте с 29.03.2012
Offline
367
#2
Samail:
if (strpos($_SERVER['REQUEST_URI'], 'blablabla') == false){

А можно теоретический вопрос? Я такой способ тоже применял, пока не разобрался в возможностях фреймворка. Насколько это методологически верно? Влияет ли на скорость загрузки? В какой момент формируется адрес страницы по сравнению с DOM всей страницы. А то мне видится какая-то цикличность?

ДП
На сайте с 23.11.2009
Offline
203
#3
Sly32:
Насколько это методологически верно?

Не мне вопрос, но отвечу. Если поставновка задачи именно как "отображение урла в зависимости от куска адреса", то это условие его и проверяет.

Sly32:
Влияет ли на скорость загрузки?

Теоретически влияет, как и весь код. На практике, если вы не гугл - то пофиг

Sly32:
В какой момент формируется адрес страницы по сравнению с DOM всей страницы.

Да как бы адрес страницы формируется еще до запуска скрипта. Он же апачу передается и апач уже передает этот адрес в php, а тот в зависимости от него формирует страницу.

Или тут какая-то подъёб тонкая ирония или я не понимаю вопросов.

K
На сайте с 01.09.2015
Offline
8
#4
Samail:
if (strpos($_SERVER['REQUEST_URI'], 'blablabla') == false){

Простите, после какой строки воткнуть? :D

Aisamiery
На сайте с 12.04.2015
Offline
319
#5
Kafrpg:
Простите, после какой строки воткнуть? :D


<?php if (strpos($_SERVER['REQUEST_URI'], 'blablabla') === false) { ?>
<div class="logo-place">
<a class="logo" href="/"><img src="<?php print $logo ?>" alt="" title="" /></a>
</div>
<?php } else { ?>
<a class="logo logo-no-frame" href="<?php print $front_page ?>"><img src="<?php print $logo ?>" alt="" title="" /></a>
<?php } ?>

P.S. Обратите внимание, что при проверки используеться ===, так как strpos вполне может вернуть 0, если это первая позиция

Разработка проектов на Symfony, Laravel, 1C-Bitrix, UMI.CMS, OctoberCMS
K
На сайте с 01.09.2015
Offline
8
#6
Aisamiery:

<?php if (strpos($_SERVER['REQUEST_URI'], 'blablabla') === false) { ?>
<div class="logo-place">
<a class="logo" href="/"><img src="<?php print $logo ?>" alt="" title="" /></a>
</div>
<?php } else { ?>
<a class="logo logo-no-frame" href="<?php print $front_page ?>"><img src="<?php print $logo ?>" alt="" title="" /></a>
<?php } ?>


P.S. Обратите внимание, что при проверки используеться ===, так как strpos вполне может вернуть 0, если это первая позиция

Вставил данный код, но не грузится вообще после этого сайт.

Parse error: syntax error, unexpected $end in

Вообще полный код header'a

<header id="header">

<div class="block_inside">
<?php if(theme_get_setting('theme_logo_frame')) { ?>
<div class="logo-place">
<a class="logo" href="/"><img src="<?php print $logo ?>" alt="" title="" /></a>
</div>
<?php } else { ?>
<a class="logo logo-no-frame" href="<?php print $front_page ?>"><img src="<?php print $logo ?>" alt="" title="" /></a>
<?php } ?>
<?php print render($page['header']); ?>
</div>
</header>
L
На сайте с 07.12.2007
Offline
351
#7
Aisamiery:
strpos вполне может вернуть 0, если это первая позиция

Может, но лишь теоретически, поскольку $_SERVER['REQUEST_URI'] всегда начинается с '/'

Но лучше добавить слэши:

if (strpos($_SERVER['REQUEST_URI'], '/blablabla/') === false) {

поскольку мы не знаем что реально кроется под этим blablabla. В этом случае === обязателен

K
На сайте с 01.09.2015
Offline
8
#8
Ladycharm:
Может, но лишь теоретически, поскольку $_SERVER['REQUEST_URI'] всегда начинается с '/'

Но лучше добавить слэши:
if (strpos($_SERVER['REQUEST_URI'], '/blablabla/') === false) {

поскольку мы не знаем что реально кроется под этим blablabla. В этом случае === обязателен

С этим тоже. Просто не загружается сайт и выдает ошибку.

Coolmac
На сайте с 08.09.2011
Offline
60
#9

<header id="header"> 

<div class="block_inside">
<?php if(theme_get_setting('theme_logo_frame') && strpos($_SERVER['REQUEST_URI'], '/blablabla/') === false) { ?>
<div class="logo-place">
<a class="logo" href="/"><img src="<?php print $logo ?>" alt="" title="" /></a>
</div>
<?php } else { ?>
<a class="logo logo-no-frame" href="<?php print $front_page ?>"><img src="<?php print $logo ?>" alt="" title="" /></a>
<?php } ?>
<?php print render($page['header']); ?>
</div>
</header>

Не?

Доступные vps/ds с грамотной тех. поддержкой (https://my.friendhosting.net/pl.php?11304)
Samail
На сайте с 10.05.2007
Offline
369
#10

<header id="header">
<?php if (strpos($_SERVER['REQUEST_URI'], 'blablabla') === false) : ?>
<div class="block_inside">
<?php if(theme_get_setting('theme_logo_frame')) { ?>
<div class="logo-place">
<a class="logo" href="/"><img src="<?php print $logo ?>" alt="" title="" /></a>
</div>
<?php } else { ?>
<a class="logo logo-no-frame" href="<?php print $front_page ?>"><img src="<?php print $logo ?>" alt="" title="" /></a>
<?php } ?>
<?php print render($page['header']); ?>
</div>
<?php endif; ?>
</header>
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий