Исключить элементы из <?php include

Я делаю сайт, который должен иметь панель <aside>, и на нем будет включена страница PHP. Он должен отображаться на каждой странице сайта, а включаемые элементы будут включать боковую навигацию для второстепенных страниц, таких как «Контакты» и «Конфиденциальность».

Это будет означать, конечно, что все на странице PHP всегда будет включено, но, например, на странице конфиденциальности (поскольку вы уже просматриваете ее) я не требую, чтобы этот элемент присутствовал на включенных элементах. Аналогично со страницей контактов, я бы хотел, чтобы кнопка конфиденциальности отображалась, но кнопка контакта была удалена.

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

Это просто очень просто

<?php include('aside.php');?>

в сторону.php

<?php echo '
   Side Nav Content here
'?>

Код внутри aside.php должен условно выводить или не выводить материал. Нет никакого способа контролировать это со стороны включения (за исключением, возможно, установки некоторых переменных, которые заставляют условный код в aside.php выводить или не выводить материал). Разбейте его на более модульные части, которые вы можете включать выборочно, или, возможно, функции, которые вы можете вызывать выборочно и/или передавать параметры…

deceze 06.04.2022 10:59

Отлично, спасибо. Я думал, что это потребует либо дополнительного языка, либо какой-то дополнительной функции. Спасибо за совет.

Cutey from Cute Code 06.04.2022 11:28
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Оберните функцию включения <?php include('aside.php');?> внутренним условием. Как это:

<?php 

$uriFragments = explode('?', $_SERVER['REQUEST_URI'], 2); // for Example [  "contact", "foo", "bla" ];
$notShowedOn = ['contact', 'about-us'];

if (! in_array($uriFragments[0], $notShowedOn)) {
   include('aside.php');
}
?>

Спасибо @Maik Lowry .. Сначала я выясняю полное значение, и все идет хорошо. Со стороны это выглядит как то, что мне нужно. Надеюсь получить шанс попробовать это во второй половине дня. Еще раз спасибо, вернусь, чтобы проголосовать за вас.

Cutey from Cute Code 06.04.2022 13:37

@CuteyfromCuteCode Спасибо за отзыв и добро пожаловать! Было бы неплохо, если бы мой ответ был полезен, чтобы вы его приняли. Спасибо :-)

Maik Lowrey 06.04.2022 13:55

@CuteyfromCuteCode Небольшое примечание. Я не знал о вашей структуре URL. Я предлагаю, чтобы соответствующая часть вашего URL-адреса была после домена, такого как yourdomain.com/contact. Тогда клавиша [0] будет рабочей. Если он находится в другом положении, вам нужно изменить ключ. $uriFragments[0],

Maik Lowrey 06.04.2022 13:57

Еще раз спасибо, структура файлов и папок такая, как вы думали, все основные страницы для индексации и основная часть сайта находятся внутри папки, каждая по корневому URL-адресу .co.uk/contact.co.uk/privacy.co.uk/services и т. д. Однако эти includes php-страницы и такие вещи, как моя основная навигация и другие вещи находятся в папке ASSETS, а затем в собственной папке> .co.uk/assets/css.co.uk/assets/php.co.uk/assets/img.co.uk/assets/js и т. д.

Cutey from Cute Code 06.04.2022 15:50

@CuteyfromCuteCode хорошо. Это был вопрос? ;-)

Maik Lowrey 06.04.2022 15:55

Нет, я не думаю, что это было :) У меня есть кое-что, и я знаю, с чего начать, я постараюсь, чтобы это получилось.

Cutey from Cute Code 06.04.2022 16:06

Давайте продолжить обсуждение в чате.

Maik Lowrey 06.04.2022 16:07

@CuteyfromCuteCode Хорошо! Если у вас есть какие-либо вопросы, пингуйте меня здесь, в комментариях. Рад помочь вам.

Maik Lowrey 06.04.2022 16:08

Теперь у меня была возможность попробовать этот Майк, и он работал отлично. Действительно ценю помощь.

Cutey from Cute Code 06.04.2022 17:08

@CuteyfromCuteCode Добро пожаловать! Мерси

Maik Lowrey 06.04.2022 17:39

Другие вопросы по теме