Я делаю сайт, который должен иметь панель <aside>
, и на нем будет включена страница PHP. Он должен отображаться на каждой странице сайта, а включаемые элементы будут включать боковую навигацию для второстепенных страниц, таких как «Контакты» и «Конфиденциальность».
Это будет означать, конечно, что все на странице PHP всегда будет включено, но, например, на странице конфиденциальности (поскольку вы уже просматриваете ее) я не требую, чтобы этот элемент присутствовал на включенных элементах. Аналогично со страницей контактов, я бы хотел, чтобы кнопка конфиденциальности отображалась, но кнопка контакта была удалена.
Есть ли способ сделать это? Причина, по которой я должен спросить, заключается в том, что я не знаю, нужно ли использовать дополнительный язык или PHP будет делать все это (когда я тоже это организую).
Это просто очень просто
<?php include('aside.php');?>
в сторону.php
<?php echo '
Side Nav Content here
'?>
Отлично, спасибо. Я думал, что это потребует либо дополнительного языка, либо какой-то дополнительной функции. Спасибо за совет.
Оберните функцию включения <?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 .. Сначала я выясняю полное значение, и все идет хорошо. Со стороны это выглядит как то, что мне нужно. Надеюсь получить шанс попробовать это во второй половине дня. Еще раз спасибо, вернусь, чтобы проголосовать за вас.
@CuteyfromCuteCode Спасибо за отзыв и добро пожаловать! Было бы неплохо, если бы мой ответ был полезен, чтобы вы его приняли. Спасибо :-)
@CuteyfromCuteCode Небольшое примечание. Я не знал о вашей структуре URL. Я предлагаю, чтобы соответствующая часть вашего URL-адреса была после домена, такого как yourdomain.com/contact. Тогда клавиша [0] будет рабочей. Если он находится в другом положении, вам нужно изменить ключ. $uriFragments[0],
Еще раз спасибо, структура файлов и папок такая, как вы думали, все основные страницы для индексации и основная часть сайта находятся внутри папки, каждая по корневому 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
и т. д.
@CuteyfromCuteCode хорошо. Это был вопрос? ;-)
Нет, я не думаю, что это было :) У меня есть кое-что, и я знаю, с чего начать, я постараюсь, чтобы это получилось.
Давайте продолжить обсуждение в чате.
@CuteyfromCuteCode Хорошо! Если у вас есть какие-либо вопросы, пингуйте меня здесь, в комментариях. Рад помочь вам.
Теперь у меня была возможность попробовать этот Майк, и он работал отлично. Действительно ценю помощь.
@CuteyfromCuteCode Добро пожаловать! Мерси
Код внутри aside.php должен условно выводить или не выводить материал. Нет никакого способа контролировать это со стороны включения (за исключением, возможно, установки некоторых переменных, которые заставляют условный код в aside.php выводить или не выводить материал). Разбейте его на более модульные части, которые вы можете включать выборочно, или, возможно, функции, которые вы можете вызывать выборочно и/или передавать параметры…