Использование переменных php для манипулирования заголовком html и идентификатором тела (кто-нибудь делает это?) - PullRequest
2 голосов
/ 11 февраля 2010

Я в основном использую переменные php для хранения значения заголовка и идентификатора тела. Последний способ - это нажатие (нажатие) моей кнопки в навигации в зависимости от того, в каком разделе страницы находится пользователь (в этом случае пользователь будет знать, что он в данный момент находится «дома»).

Начало моего index.php:

<?php
    $title = "New Project";
    $body = "home";
    include("common/header.php");
?>
<div id="content">
    <div class="container">
        <div id="tagline">

Начало моего header.php

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
    <title><?php echo $title; ?></title>
    <link rel="stylesheet" type="text/css" href="styles/slimbox2.css" />
    <link rel="stylesheet" type="text/css" href="styles/global.css" />
    <link rel="stylesheet" type="text/css" href="styles/home.css" />
    <link rel="stylesheet" type="text/css" href="styles/contact.css" />
    <script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="scripts/jquery.corner.js"></script>
    <script type="text/javascript" src="scripts/jquery.validate.js"></script>
    <script type="text/javascript" src="scripts/slimbox2.js"></script>
    <script type="text/javascript" src="scripts/custom.js"></script>
</head>
</head>
<body id="<?php echo $body; ?>">
<div id="header">
    <div class="container">
        <div id="topbar">
            <h1><a href="http://widerdesign.co.nr/">wider design</a></h1>
            <ul id="lang">
                <li><a href="index.php">English</a></li>
                <li><a href="es/index.php">Español</a></li>
                <li><a href="tw/index.php">中文(繁體)</a></li>
                <li><a href="cn/index.php">中文(简体)</a></li>
            </ul>
            <ul id="nav">
                <li class="home"><a href="index.php">home</a></li>
                <li class="products"><a href="products.php">products</a></li>
                <li class="about"><a href="about.php">about</a></li>
                <li class="contact"><a href="contact.php">contact</a></li>
            </ul>

Чтобы сообщить пользователю, в каком разделе он находится:

#home li.home a, #products li.products a, #contact li.contact {
    color: #999;
}

Есть ли более простой способ сделать это?

Использую ли я эти ненужные переменные PHP?

Ответы [ 4 ]

5 голосов
/ 11 февраля 2010

Да, то, что вы делаете, хорошо. Я делаю нечто подобное с классом PageTemplate. Помимо настройки заголовка и навигации, он позволяет отображать навигационные ссылки на основе аутентификации пользователя, позволяет добавлять javascript и css в раздел head и т. Д.

То, что вы делаете, очень распространено. Есть миллион способов сделать это, но все они потребуют установки некоторых переменных.

1 голос
/ 11 февраля 2010

ДжаноЧен,

Я использую следующий метод:

// получить URL

$url= $_SERVER['PHP_SELF'];

// добавить класс в пункт меню

<ul id="lang">
      <li><a href="index.php" <?php if (strpos($url, "index.php")) { echo " class='active'"; } ?>>English</a></li>

// с помощью css я устанавливаю стиль для активного класса

li a.active { 
 color: #990000;
}

Но у вас метод тоже работает.

0 голосов
/ 11 февраля 2010

Или используйте MVC-фреймворк, такой как CakePHP

0 голосов
/ 11 февраля 2010

Это работает, но вы должны рассмотреть возможность использования движка шаблонов, такого как Smarty .

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