Я хочу знать, какой из них лучший способ создать сайт.
У меня на сайте есть «Панель навигации», «Содержимое» и «Нижний колонтитул». Так как мой веб-сайт полностью динамический, я хочу загрузить «Панель навигации» и «Нижний колонтитул» на большинстве страниц. Поэтому, пожалуйста, предложите мне лучший и быстрый способ выполнить эту задачу.
Пример:
|----------------------|
| Header |
| |
|======================-
| |\
| | \
| | --->> Want to change this area, in different pages, Login, Signup,
| Content | / About Us, Contact etc.. but the header and footer remains
| |/ same.
| |
|======================|
| Footer |
|----------------------|
Вопрос: HTML-код моего заголовка слишком длинный и содержит много вещей, таких как слайдер, панель навигации и много кода jquery, связанного с ним. так что, если я скопирую его на все страницы, это приведет к задержке? или я должен сохранить заголовок в отдельных файлах и нижний колонтитул, чтобы отделить и включить их с php?
Ваша структура будет выглядеть так,
header.php
|----------------------|
| Header |
|======================|
footer.php
|======================|
| Footer |
|----------------------|
Теперь вам нужно включить с помощью require_once
метод.
page1.php
require_once('header.php');
// Body Content
require_once('footer.php');
page2.php
require_once('header.php');
// Body Content
require_once('footer.php');
Также для вашего jQuery
или же js
коды создают файл с script.js
и вставьте в него. Теперь можно включить этот файл с помощью этой команды <script src="script.js" />
Если вы хотите использовать jQuery, поместите это во внешний файл:
$(function() {
$("#header").load("header.html");
$("#footer").load("footer.html");
});
и имеют
<body>
<div id="header"></div>
<div id="content">....</div>
<div id="footer"></div>
</body>
Вы можете даже поменять содержимое
$(function() {
$("#header").load("header.html",function() {
$("#header").on("click",".navigation",function(e) {
e.preventDefault();
$("#content").load(this.href);
});
$("#login").click(); // load first content
});
$("#footer").load("footer.html");
});
где ссылки в заголовке указывают на login.html, about.html,
Если ваш верхний и нижний колонтитулы являются статическими, у вас может быть один макет, который будет содержать верхний и нижний колонтитулы, и вы можете включить в него свой динамический контент. Так делают многие PHP-фреймворки.
<?php
$page = (isset($_GET['page']) && !empty ($_GET['page'])) ? $_GET['page'] . '.php' : 'index.php';
?>
<html>
<head>
</head>
<body>
<header></header>
<?php include_once $page; ?>
<footer></footer>
</body>
</html>