PHP Menu - условное форматирование страницы - PullRequest
0 голосов
/ 13 октября 2011

У меня есть меню PHP, которое я включаю просто через

<?php include_once("includes/blog.php") ?>

Я пытаюсь выяснить, как переформатировать текст ссылки в меню, если связанная страница отображается в браузере - например,(простой пример)

PHP вставляет следующие ссылки:

Один Два Три Четыре

Если щелкнуть Четыре и страница загружена, я бы хотел, чтобы она отображалась как

Один Два Три Четыре

Возможно ли это (я искал свои извинения, если что-то пропустил).

1 Ответ

4 голосов
/ 13 октября 2011

Вы можете сделать это несколькими способами: $ _GET vars, данные $ _SESSION, чтение URL текущей страницы,

Вот один из способов сделать это ...

Сделайте ваши ссылкитак что:

//On your actual page
<style>
.bold{ font-weight:bold; }
</style>

//In includes/blog.php
<?php
echo '<a href="pageone.php?id=1" class="'.(($_GET['id'] == "1") ? 'bold' : '').'">One</a>';
echo '<a href="pagetwo.php?id=2" class="'.(($_GET['id'] == "2") ? 'bold' : '').'">Two</a>';
?>

Вам нужно будет отформатировать это к тому, что у вас есть, но, надеюсь, вы поймете идею.

Эта часть class="'.(($_GET['id'] == "1") ? 'bold' : '').'" Значит, если $ _GET ['id'] равно 1, затем эхо "жирный".Поэтому, если бы наша ссылка, по которой мы щелкнули, была pageone.php? Id = 1, мы знали бы, что у нас была бы переменная $ _GET с именем 'id', равная 1. Поэтому наш класс будет выглядеть так: class="bold".Если на нашей странице есть .bold{ font-weight:bold; }, то выбранная ссылка будет выделена жирным шрифтом.

Если вы не используете какую-либо инфраструктуру, которая отслеживает ваши страницы, вы можете использовать $ _SERVER ['PHP_SELF'] для сопоставления с вашей ссылкой.

См. руководство: http://www.php.net/manual/en/reserved.variables.server.php

Если кто-то введет http://www.example.com/pageone.php

$ _ SERVER ['PHP_SELF'] будет содержать /pageone.php Таким образом, вы можете выполнить еще одну проверку, например

if ($ _ SERVER ['PHP_SELF'] == '/pageone.php') {echo 'bold';}

Это довольно уродливый способ сделать это, хотя он может работать для ваших целей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...