Научите примитивным инклудам

Статус
В этой теме нельзя размещать новые ответы.

Yus

Гуру форума
Регистрация
12 Янв 2008
Сообщения
255
Реакции
93
Возникла проблема.
При обновлении статичных сайтов больших объемов...приходится изменять все страницы...
Знаю, что инклудами можно решить эту проблемы.
Какой самый примитивный способ использовать инклуды? и есть ли способ задавать инклуды прямо в html страницах?
 
Самый простой способ: include('file.php');
Если хочешь использовать в хтмл файлах, то пропиши в htaccess чтобы они обрабатывались соответствующим образом
 
  • Заблокирован
  • #3
Ещё можно использовать SSI.
В нужном месте страницы вставляешь следущий код:
PHP:
<!--#include file="file.html" -->
Например можно это вставить в ячейку таблицы и реализовать меню сайта
Файлы должны иметь расширение .shtml ну или опять же через .htaccess.
 
Я обычно использую опцию замены в папке или в открытых файлах программы DreamWeaver8
 
Смотри в сторону шаблонизаторов. Раньше я юзал инклуды. В каждом файле подключался хеадер и футер
PHP:
include('header.php')
//тело страницы
include('footer.php')
в которых соответсвено была шапка и низ, а между ними сам скрипт. НО это не самый лучший способ, все равно от него уйдешь к шаблонизаторам ;)
 
Есть еще способ.

Создаешь index.php, в нем что-то вроде

<?php
require_once 'header.inc.php';

if (file_exists($_GET['page'])) {
require_once($_GET['page']);
}

require_once 'footer.inc.php'

?>

И еще делаешь кучу html страниц, в которых размещен просто текст без хидера и футера.

По запросу Для просмотра ссылки Войди или Зарегистрируйся будет искаться файл vasya, и если найдется, будет выводиться сразу с хидером и футером.

Описанный способ очень и очень простой. И по большому счет очень небезопасен :) Но для начала хватит.
 
Также можно к примеру вместо инклудов использовать более современные технологии, например AJAX или хотя бы яву.

К примеру кусок кода.

<script language="javascript" type="text/javascript">
function Update (what)
{
//alert(page);
//if(what=='add'){alert('add')}
//if(what=='del'){alert('del')}
//document.getElementById('contentS').innerHTML = what;
document.getElementById('BUT').src = what; // Для мозиллы.

//frames['BUT'].location.href = what; // Для мозиллы не подходит :(

}



...
<IFRAME src="news.php" width="500" height="500" scrolling="no" frameborder="0" Id="BUT" class="header"></iframe></div>

<DIV ><A href="#c"><LI onclick="Update('add.php');"><b><font color=green>Добавить сайт</b></font></A></LI></DIV>

Примитивно , но работает. Чем то похоже на обновление дивок, как реализовано на аяксе, для новичка данный способ в самый раз.
 
Автору: если свяжешься с реализацией на пхп обрати внимание в сторону шаблонизатора Для просмотра ссылки Войди или Зарегистрируйся (можно подключить практически любой хтмл в любом удобном месте на странице, язык шаблонизатора осваивается за несколько часов - и шаблонизатор довольно гибок).


Если свяжешься с DHTML и не более: почитай о frame ах

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

структуре - как раз твой вариант - имеем несколько везде одинаковых документов и подключаемую изменяющуюся часть. Ну и можешь почитать об ajax (AHAH в твоем случае, асинхронный хтмл подгружающийся с сервера с помощью яваскрипта).
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

Есть еще способ.

Создаешь index.php, в нем что-то вроде

<?php
require_once 'header.inc.php';

if (file_exists($_GET['page'])) {
require_once($_GET['page']);
}

require_once 'footer.inc.php'

?>

И еще делаешь кучу html страниц, в которых размещен просто текст без хидера и футера.

По запросу Для просмотра ссылки Войди или Зарегистрируйся будет искаться файл vasya, и если найдется, будет выводиться сразу с хидером и футером.

Описанный способ очень и очень простой. И по большому счет очень небезопасен :) Но для начала хватит.

Роско. Не УЧИ ПЛОХОМУ!)
Гораздо безопаснее сделать так:
Для просмотра ссылки Войди или Зарегистрируйся
 
не, на смарти лучше не смотри, ajax намного легче и проще, сама система построения аякса строится на частичной перезагрузки страницы, без постоянных обновлений статичных элементов, типа футера и хедера, в то время как смарти, обрабатывает полностью все, и генерирует при запросе новую страницу, в тоже время, на смарти большое обращение к БД, создавая излишнюю нагрузку. Но решать тебе. Так что, если у тя много страниц, то просто возьми какой нить уже готовый движок да натяни на него диз и все
 
не, на смарти лучше не смотри, ajax намного легче и проще, сама система построения аякса строится на частичной перезагрузки страницы, без постоянных обновлений статичных элементов, типа футера и хедера, в то время как смарти, обрабатывает полностью все, и генерирует при запросе новую страницу, в тоже время, на смарти большое обращение к БД, создавая излишнюю нагрузку. Но решать тебе. Так что, если у тя много страниц, то просто возьми какой нить уже готовый движок да натяни на него диз и все
Редиска! Ты чего советуешь?
Конструктивная критика:
- у автора есть полностью статический сайт - насколько видно из контекста вопроса. При чем здесь БД?
- вопрос стоял в инклюдах и других ситуациях - при чем здесь ЦМС?
- При чем здесь АJAX? Здесь скорее всего AHAH нужен)
Номинальная критика:
Номер раз:
- нет никакого большего обращения к БД на смарти. Смарти - это шаблонизатор. Просто прослойка для отделения логики представления и серверной логики. С классами pear db вообще очень удобная вещь. Просто нет мешанины хтмл и пхп в коде. А элементы хтмл страниц создаются в секунды с гораздо меньшими трудозатратами. И где же там большее обращение к БД?)
- никто тебе не мешает использовать AJAX библиотеки и запросы вместе со Смарти. "Технология" Асинхронной передачи данных к серверу вполне совместима с этим шаблонизатором. А при наличии множества уже готовых аякс библиотек твою фантазию в реализации связки яваскрипт - хмл - пхп - смарти - ограничивают только твои знания.
- ну и напоследок. интересно окончилась фраза - просто возьми ЦМС, уже готовую. Да. Так легче. Но без знаний твое использование любой цмс будет до первой серьезной ошибки. По вине ли сервера, или программистов, или конкретной ситуации - это не важно.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху