Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Отобразить блок только на определенной странице (и ее дочерних) в PHP

Kenny Ученик (83), на голосовании 4 года назад
Сайт на Word Press

Есть 2 блока:
Блок - А
Блок - Б

Есть страницы:
site.ru

site.ru/en/
site.ru/en/1
site.ru/en/2
site.ru/en/3
site.ru/en/4/a
site.ru/en/4/b

site.ru/news/
site.ru/about/
--------------------------------------
Нужно реализовать так, чтобы блок А был на всех страницах, КРОМЕ

site.ru/en/
site.ru/en/1
site.ru/en/2
site.ru/en/3
site.ru/en/4/a
site.ru/en/4/b

site.ru/en/ (и всех дочерних страниц, страницы "en")

На этих страницах, должен быть только блок Б.
------------------------

Нашел статью с выдержкой кода

"

<?php $url = strpos($_SERVER['REQUEST_URI'], "single"); switch($url){ case true: ?>
< ! -- языковой блок - ->
<?php break;}?>

Где single — страница, на которой (а также на ее дочериных) будет показываться Ваш элемент.

— замените на свой код, который будет скрыт.
"

Вместо "single" - вставил "/en/"
Вместо -

Не сработало, получилось что на всех страницах этот блок скрыт.

Помогите пожалуйста, как решить данную ситуацию. К сожалению с php я вообще на ВЫ.
Голосование за лучший ответ
Άηϑρέΰ ҂ Искусственный Интеллект (179999) 4 года назад
либо парси урл, либо ставь какой нибудь простой фреймворк и устанавливай роуты и там анализируй
KennyУченик (83) 4 года назад
Не понятно из Ваших слов, что мне нужно сделать. Кодом можно ли както это реализовать?
Άηϑρέΰ ҂ Искусственный Интеллект (179999) Kenny, к примеру, у тебя есть урл: site.ru/en/4/b тебе нужно uri "en/4/b" разделить по слэшу и определить: 1. первый параметр EN 2. второй <число> 3. если А, то выполнить для А, либо В и выполнить для В, либо третий вариант...
Саня Семенов Оракул (60497) 4 года назад
Самое простое это так
if(in_array ($_SERVER['REQUEST_URI'], $available_urls))
Похожие вопросы