Выяснилось что нужные мне манипуляции можно проделать с помощью SSI - Server Side Includes.
| Цитата | Делаем сайт с помощью SSI Создание сайтов Есть такая фишка: SSI - Server Side Includes, иными словами - включения на стороне сервера. Когда Вы запрашиваете страницу, ну скажем index.shtml (файлы где есть SSI имеют расширение.shtml), то браузер, встретив в документе строку вида:
#include virtual="top.shtml" -->
"понимает" что в это место необходимо вставить содержимое файла top.shtml.
Как это использовать?
Предположим, что у Вас есть сайт. Все элементы этого сайта можно поделить на:
1. Заголовок, который состоит, скажем из логотипа и баннера, и который на всех страницах сайта одинаковый.
2. Панель навигации.. тоже неизменная, но показывается не на всех страницах сайта.
3. Окно, в котором выводится информация котоую запросил посетитель.
4. И еще панелька снизу, ну скажем тоже с баннером.
Все 4 пункта пишем отдельно в разных файлах.
1. top.shtml 2. nav.shtml 3. 4. bottom.shtml
3 пункт я пропустил специально... в этом окне может отображаться разное содержимое. Предположим у нас есть раздел "новости" и "цены на услуги".
Дальше пишем отдельно два файла news.shtml и price.shtml.
Теперь пример:
предположим посетитель решил перейти на страницу новостей... и кликает на ссылке. Ссылка направляет его на файл news_ssi.shtml Вот как выглядит такой файл.
#include virtual="top.shtml" --> #include virtual="nav.shtml" --> #include virtual="news.shtml" --> #include virtual="bottom.shtml" -->
И все!!! Сервер сам компанует html файл из файлов которые ему указали. Причем все файлы написаны на простом html, но только файл top.shtml содержит открывающие теги , а файл bottom.shtml содержит в конце теги .
А скажем в файле nav.shtml таких тегов нет... они там не нужны, потому что содержимое этого файла оказывается внутри уже готового html документа.
Надеюсь понятно.
Но это только один пример. Способов использования SSI много... Приемущества налицо. Захотел изменить навигацию... меняешь файл nav.shtml и навигация изменяется на всем сайте сразу.
Автор статьи: Silver Email: admin@web-silver.ru
|
Исходя из этого сделал следующие файлы.
top.shtml
| Код | <!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"> <body> <table width="100%" border="5" bordercolor="#0000FF"> <tr> <td>Это </td> <td>заголовк </td> <td>сайта</td> </tr> </table>
|
nav.shtml
| Код | <table width="20%" border="5" bordercolor="#0000FF"> <tr> <td>Пункт меню 1 </td> </tr> <tr> <td>Пункт меню 2 </td> </tr> <tr> <td>Пункт меню 3 </td> </tr> <tr> <td>Пункт меню 4 </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr> </table>
|
news.shtml
| Код | <table width="100%" border="5" bordercolor="#0000FF"> <tr> <td>Это новости!! Меню должно быть слева от них!!! </td> <td> </td> </tr> <tr> <td bordercolor="#0000FF">Это новости!! тоже!!! </td> <td> </td> </tr> </table
|
bottom.shtml
| Код | <table width="100%" border="5" bordercolor="#0000FF"> <tr> <td>А Это подпись и все такое. :) Все права защищены! </td> </tr> </table> </body> </html>
|
И все это запускается файлом
news_ssi.shtml
| Код | <!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 http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Документ Без Имени</title> </head>
<body>
#include virtual="top.shtml" --> #include virtual="nav.shtml" --> #include virtual="news.shtml" --> #include virtual="bottom.shtml" -->
</body> </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">
<body> <table width="100%" border="5" bordercolor="#0000FF"> <tr> <td>Это </td> <td>заголовк </td> <td>сайта</td> </tr> </table>
<table width="100%" border="5" bordercolor="#0000FF"> <tr> <td valign="top"><table width="98%" border="5" bordercolor="#0000FF"> <tr> <td valign="top">Пункт меню 1 </td> </tr> <tr> <td valign="top">Пункт меню 2 </td> </tr> <tr> <td valign="top">Пункт меню 3 </td> </tr> <tr> <td valign="top">Пункт меню 4 </td> </tr> <tr> <td valign="top"> </td> </tr> <tr> <td valign="top"> </td> </tr> <tr> <td valign="top"> </td> </tr> <tr> <td valign="top"> </td> </tr> <tr> <td valign="top"> </td> </tr> <tr> <td valign="top"> </td> </tr> </table></td> <td>Это новости!! Меню должно быть слева от них!!! </td> </tr> <tr> <td bordercolor="#0000FF"> </td> <td>Это новости!! тоже!!! </td> </tr> </table>
<table width="100%" border="5" bordercolor="#0000FF"> <tr> <td>А Это подпись и все такое. :) Все права защищены! </td> </tr> </table> </body> </html>
|
Думаю это исчерпывающая информация дл того чтобы ктонибудь смог мне помочь! ;) Сейчас проблема в том, что блоки "Новости" и "Меню" не находятся на одном уровне горизонтально, а следуют друг за другом! Как это исправить!??
|