Какой лучший способ включить внешний контент с использованием php включает? (Для веб-разработчиков, которые любят оптимальные методы) - PullRequest
0 голосов
/ 21 июня 2009

Я проверил множество учебных пособий по , включая заголовок, навигацию и нижний колонтитул , используя php "include". Но в итоге я отделил свои HTML-теги. Например, my <div id="content"> находится в "header.html", а закрывающий тег </div> находится в нижнем колонтитуле. Это создает некоторые проблемы при использовании jQuery и выглядит довольно грязно. Есть ли лучшая практика для создания внешнего контента? (JQuery решение?)

index.php

<?php include("header.html"); ?>
<?php include("navigation.html"); ?>
<div id="content">
    <h2 class="clear">This is the contact page</h2>
        <p>
        Main content here... Main content here... Main content here... Main content here...
        Main content here... Main content here... Main content here... Main content here...
        Main content here... Main content here... Main content here... Main content here...
        Main content here... Main content here... Main content here... Main content here...
        Main content here... Main content here... Main content here... Main content here...
        Main content here... Main content here... Main content here... Main content here...
        </p>
    </div>
<?php include("footer.html"); ?>

header.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Study at Best</title>
    <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.dropshadow.js"></script>
    <script type="text/javascript" src="scripts/jqueryScripts.js"></script>
    <link rel="stylesheet" rev="stylesheet" href="styles/layout.css" />
    <link rel="stylesheet" rev="stylesheet" href="styles/ddm.css" />
</head>
<body>
<div id="container">
    <div id="header">
    This is the header
    </div>

footer.html

    <div id="footer">
        <p>BEST School &copy; Copyright 2009</p>
    </div>
</div>
</body>
</html>

Ответы [ 5 ]

0 голосов
/ 07 июля 2009

Хм, хорошо, не уверен, что это лучший способ сделать это, но я склонен иметь файл шаблона, который содержит заголовок, нижний колонтитул, меню, левую сторону, правую сторону и все остальное не относится только к одной странице, включая все JS включает и тому подобное. И тогда у index.php просто будет переменная содержимого, в которую входит все содержимое индекса. В конце индекса я затем запрашиваю файл шаблона, который помещает переменную «содержимое» внутрь, где она принадлежит, и тада, все ваши головные боли прошли.

0 голосов
/ 26 июня 2009

По моему личному мнению, это выглядит неправильно. Я имею в виду просто не делай этого с собой. Это будет кошмар, если сайт станет более сложным. Как насчет того, чтобы поместить тег div в footer.html так же, как для header.html? Остальное принадлежит в index.php. Если index.php становится сложным, разбейте его еще больше (javascript.html ..). - Меркуро 20 июня в 21: 22 * ​​1001 *

0 голосов
/ 21 июня 2009

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

0 голосов
/ 21 июня 2009

Я не вижу проблемы с этим. Я использовал эту технику много раз прежде. Для меня это все хорошо организовано. И, как сказал Джонатан Сэмпсон, с jQuery не должно быть проблем.

0 голосов
/ 21 июня 2009

Какая проблема это вызывает? Это довольно стандартная практика (я ее использую), и я никогда не знал, что это создает какие-либо проблемы. jQuery не должен быть проблемой, так как код jQuery не запускается, пока все html все равно не будут объединены.

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