Чтобы css стили менялись с url в joomla

12
С8
На сайте с 23.08.2012
Offline
108
1056

Здравствуйте! Мне необходимо скрыть некоторые блоки на определенных страницах. Пробовала сделать так:

<?php if ($_SERVER['REQUEST_URI']=='/animatori/') { ?>

<style>
#news {display:none;}
</style>
<?php } ?>

Но ничего не получается. Я и полный урл пробовала добавлять. Сайт на джумле. В чем ошибка, может, для джумлы должен быть какой-то другой синтаксис? Или посоветуйте, пожалуйста, какой нибудь другой вариант кода.

С8
На сайте с 23.08.2012
Offline
108
#1

Нашла в коде компонента, который извлекает адрес страницы такой массив $_REQUEST['page']

<?php if ($_REQUEST['page']=='/animatori/') { ?>

<style>
#news {display:none;}
</style>
<?php } ?>

Но все равно, не работает...

PR
На сайте с 30.12.2007
Offline
93
#2

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

// [...]
}
С8
На сайте с 23.08.2012
Offline
108
#3

Спасибо! Сейчас попробую.

DD
На сайте с 20.05.2010
Offline
54
#4

Добрый день.

Можно проще: зайдите в менеджер модулей, откройте для редактирования нужный модуль и в настройках привязки к пунктам меню уберите тот, в котором модуль не должен отображаться.

Если не разберетесь - готов помочь, дело на 5-10 минут. Пишите в ЛС или скайп.

Изготовление сайтов (CMS Joomla, Wordpress) (https://searchengines.guru/ru/forum/958580) | Кредит на карту онлайн ( https://realmoney.com.ua/ )
С8
На сайте с 23.08.2012
Offline
108
#5

Проблема как раз в том, что мне нужно у блога категории аниматоры (с краткими описаниями) убрать определенные блоки, а в самих полных статьях эти блоки должны быть. Если убираю модуль у аниматоров, убирается и у всех статей. Что-то у меня и так

if (strpos($_SERVER['REQUEST_URI'], '/animatori/') !== false) {
// [...]
}
не выходит...

---------- Добавлено 02.07.2014 в 10:28 ----------

PROGRAMMATOR:
if (strpos($_SERVER['REQUEST_URI'], '/animatori/') !== false) {
// [...]
}

Прописала так

<?php if (strpos($_REQUEST['page'], '/animatori/') !== false) echo $_REQUEST['page']; { ?>
<style>
#news {display:none;}
</style>

<?php } ?>

Блоки удаляются.

Только теперь блоки исчезают на всех страницах... что же делать...

DD
На сайте с 20.05.2010
Offline
54
#6
Проблема как раз в том, что мне нужно у блога категории аниматоры (с краткими описаниями) убрать определенные блоки, а в самих полных статьях эти блоки должны быть. Если убираю модуль у аниматоров, убирается и у всех статей

Можете написать полный url к странице, где выводится блог категории?

И полный url к странице с полной статьей.

С8
На сайте с 23.08.2012
Offline
108
#7

Я пока на денвере делаю, вот урл к блогу категории http://karusel_ufa/index.php/detskie-prazdniki/animatori , вот урл к статье http://karusel_ufa/index.php/detskie-prazdniki/animatori/32-alladin

---------- Добавлено 02.07.2014 в 12:11 ----------

Пробовала отдельно выводить echo $_SERVER['REQUEST_URI']; , выводится /index.php/detskie-prazdniki/animatori, этот адрес тоже подставляла, не выходит. Смотрела исходный код, в первом случае, без echo стили не подставляются, во втором же случае, с echo, стили подставляются во все страницы. Выходит, что проверка $_SERVER['REQUEST_URI']=='/animatori/' не срабатывает?

DD
На сайте с 20.05.2010
Offline
54
#8

Попробуйте так:

<?php
if ($_SERVER['REQUEST_URI'] == "/index.php/detskie-prazdniki/animatori")
{
?>
<style>
#news {display:none;}
</style>
<?php
}
?>

После этого попробуйте обновить страницу _http://karusel_ufa/index.php/detskie-prazdniki/animatori с кешем: Ctrl+F5

С8
На сайте с 23.08.2012
Offline
108
#9

Теперь работает). Спасибо огромное! Полдня на это потратила). Все дело было в запятых чтоли?) Я также пробовала только в таком виде

<?php

if ($_SERVER['REQUEST_URI'] == '/index.php/detskie-prazdniki/animatori')
{
?>
<style>
#news {display:none;}
</style>
<?php
}
?>
И ничего не работало).
DD
На сайте с 20.05.2010
Offline
54
#10

Еще обратите внимание: страница может быть доступна по двум ссылкам:

_http://karusel_ufa/index.php/detskie-prazdniki/animatori

и

_http://karusel_ufa/index.php/detskie-prazdniki/animatori/ (со слешем в конце)

Поэтому давайте чуть изменим код:

<?php
if ($_SERVER['REQUEST_URI'] == "/index.php/detskie-prazdniki/animatori" || $_SERVER['REQUEST_URI'] == "/index.php/detskie-prazdniki/animatori/")
{
?>
<style>
#news {display:none;}
</style>
<?php
}
?>

***

Все дело было в запятых чтоли?)

Нет. Или открывали страницу по ссылке со слешем в конце, или дело было в кеше.

***

И всё же: правильнее было бы зайти в менеджер модулей и отключить отображение модуля на определенных страницах. :)

12

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