Если эта страница показывать это остальное показывать это - PullRequest
7 голосов
/ 03 ноября 2011

На всех страницах, кроме страницы контактов, я хочу, чтобы в файле inc-header.php было показано следующее.

<p><a href="contact.php">Contact</a></p>

На странице contact.php я хочу, чтобы она отображалась:

<p><a href="index.php">Home</a></p>

Это должно быть возможно исправить?

Ответы [ 5 ]

21 голосов
/ 03 ноября 2011
<?php
if (stripos($_SERVER['REQUEST_URI'], 'contact.php')){
     echo '<p><a href="index.php">Home</a></p>';
}
else{
     echo '<p><a href="contact.php">Contact</a></p>';
}
5 голосов
/ 03 ноября 2011
if ($_SERVER["SCRIPT_NAME"] == '/contact.php') {
    echo '<p><a href="index.php">Home</a></p>';
} else {
    echo '<p><a href="contact.php">Contact</a></p>';
}
3 голосов
/ 03 ноября 2011

Существует глобальная переменная с именем $_SERVER['PHP_SELF'], которая содержит имя вашей страницы, запрошенной в данный момент.В сочетании с basename() это должно работать:

if( basename($_SERVER['PHP_SELF'], '.php') == 'contact' ) {
    // Contact page
} else {
    // Some other page
}
1 голос
/ 03 ноября 2011

быстрое и грязное решение:

<?php
$current_page = 'contact';
include('inc_header.php');
....
?>

В inc_header.php:

<?php
if($current_page == 'contact') {
    // show home link
} else {
    // show contact link
}
?>
0 голосов
/ 03 ноября 2011

Вы можете сделать это с помощью простого оператора if, но это будет работать только для вашей страницы контактов.Вы также можете использовать простую функцию в вашем файле inc-header, которая будет работать следующим образом:

function LinkToPageOrHome( $script, $title ){
   if ( strtolower( $_SERVER[ 'SCRIPT_NAME' ] ) == strtolower( $script) ){
       $script = 'home.php';
       $title = 'Home';
   }
   echo '<p><a href="' . $script. '">' . htmlentities( $title ) . '</a></p>';
}

Это своего рода тупой подход с точки зрения дизайна, но вы можете использовать LinkToPageOrHome( 'page.php', 'My Page' ); в нескольких шаблонах иникогда не беспокойтесь о наличии ссылки на страницу.

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