Верхний и нижний колонтитулы php

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

<?php include_once("header.php")?>
   contents of the page...        
<?php include_once("footer.php")?>

header.php содержит:

<!DOCTYPE html>
<head>
<title>Items Page</title>
<link rel="stylesheet" href="assets/css/item.css">
<script src="assets/css/item.js"></script>
</head>
<body>
    <header>
        contains a navigation bar  
    </header>

footer.php содержит:

    <footer>...</footer>
</body>
</html>

Приведенные выше коды предназначены для страницы "Элементы", однако у меня также есть страница "Пользователи", они имеют одинаковый нижний колонтитул и разметку заголовка, но разные связанные файлы CSS и JS. Как можно изменить <link> а также <script> внутри <head> тег на header.php включаемый файл, если пользователь переходит на страницу пользователя, например: mysite.com/user/blabla,

Правильная ссылка на страницу "Пользователи" должна быть:

<link rel="stylesheet" href="assets/css/user.css">
<script src="assets/css/user.js"></script>

6 ответов

Решение

Используйте этот формат на всех страницах

<?php    
    $page_title = "title_here";
    $cssfiles   = array("path/to/css1.css", "path/to/css2.css", ...);
    $jsfiles    = array("path/to/js1.js", "path/to/js2.js", ...);    
?>
<?php include_once("header.php")?>
   contents of the page...        
<?php include_once("footer.php")?>

И в header.php

<head>
    <title><?php echo $page_title;?></title>
    <?php
    foreach($cssfiles as $css){
    ?>
        <link rel="stylesheet" href="<?php echo $css;?>">
    <?php
    }
    foreach($jsfiles as $js){
    ?>
        <script src="<?php echo $js;?>"></script>
    <?php
    }
    ?>
</head>

Вы можете сделать это

header.php

if(!isset($custom_css)) {
    echo '<link rel="stylesheet" href="assets/css/item.css">';
}

if(!isset($custom_js)) {
    echo '<script src="assets/css/item.js"></script>';
}

И в файлах ваших пользователей, дайте значения $custom_css а также $custom_js перед включением заголовка user.php

$custom_css = '<link rel="stylesheet" href="assets/css/user.css">';
$custom_js = '<script src="assets/css/item.js"></script>';
<?php include_once("header.php")?>

Попробуйте установить каждую страницу переменной для CSS и Ja vaScript следующим образом:

 $css        = 'assets/css/user.css';
 $javascript = 'assets/css/user.js';
<?php include_once("header.php")?>
   contents of the page...        
<?php include_once("footer.php")?>

на странице заголовка вам нужно вызвать эти переменные:

<!DOCTYPE html>
<head>
<title>Items Page</title>
<link rel="stylesheet" href="<?php echo $css; ?>">
<script src="<?php echo $javascript; ?>"></script>
</head>
<body>
    <header>
        contains a navigation bar  
    </header>

Разделите вашу навигацию и заголовок.

header.php

<!DOCTYPE html>
<head>
<title>Items Page</title>
<link rel="stylesheet" href="assets/css/item.css">
<script src="assets/css/item.js"></script>

nav.php

</head>
<body>
<header>
    contains a navigation bar  
</header>

whatever.php

<?php include_once("header.php")?>
<link rel="stylesheet" href="assets/css/user.css">
<script src="assets/css/user.js"></script>
<?php include_once("nav.php")?>

Попробуй так

Страница типа пользователя

<?php
$pageType = 2; // USER
?>
<?php include_once("header.php")?>
   contents of the page...        
<?php include_once("footer.php")?>

на других страницах

<?php
$pageType = 1; // OTHER
?>
<?php include_once("header.php")?>
   contents of the page...        
<?php include_once("footer.php")?>

и в шапке

<!DOCTYPE html>
<head>

<?php if ( $pageType == 1 ) { ?>
    <title>Items Page</title>
    <link rel="stylesheet" href="assets/css/item.css">
    <script src="assets/css/item.js"></script>
<?php } else if ( $pageType == 2 ) { ?>
    <title>User Page</title>
    <link rel="stylesheet" href="assets/css/user.css">
    <script src="assets/css/user.js"></script>
<?php } ?>
</head>
session_start();
if($_SESSION['user'])
{
?>
 <link rel="stylesheet" href="assets/css/item_user.css">
    <script src="assets/css/item_user.js"></script>
<?php
}
else
{
?>
<link rel="stylesheet" href="assets/css/item.css">
    <script src="assets/css/item.js"></script>
<?php
}
?>
Другие вопросы по тегам