публикация №1096362333, версия для печати

Лёгкая смена дизайна с помощью PHP


Дата публикации: 28 сентября 2004
Публикатор: maskaev (номер депонирования: BY-1096362333)
Рубрика: КОМПЬЮТЕРЫ И ИНТЕРНЕТ Программирование


ИСТОЧНИК: БВБ

PHP. Первые шаги. Действительно легкая смена дизайна.
Предупреждение.

Данный текст ни на что не претендует. Надеюсь, что-то из описанного поможет Вам в освоении PHP и использовании его в повседневной практике.
Сразу оговорюсь, что я не только мало смыслю в программировании вообще, но и в PHP в частности. Соответственно и статья писалась для такой же аудитории. Ламер -ламеру. Или дилетант-дилетанту, как угодно. Большинство информации можно найти в форумах или на англоязычных сайтах.

Краткая аннотация:

После прочтения статьи вы сможете использовать только один файл для внесения в него изменений дизайна и навигации. Содержимое сайта при этом не нужно будет даже трогать!

Легкая смена дизайна

Итак, у вас уже что то есть. Какой то информационный web проект. Серия статей, он-лайн книга, просто страничка.
Хорошо, если у вас все в порядке с проектом на диске. Каждый раздел в своем каталоге, скрипты отлажены и жужжат, дизайн закреплен навеки.
У меня такого не было.
То есть порядок то был, а вот с дизайном - полный завал. Плюс я постоянно что то прикручиваю, балуюсь с содержимым. Что же я сделал?
Мне надо было : легко и безболезненно менять дизайн, навигацию, ссылки и баннеры, вставлять новые разделы и все это должно проходить с минимальными телодвижениями .
Я вовсю использовал SSI. Вы знаете что это такое ? Грубо говоря, у меня был шаблон хтмл, в него я вставлял меняющиеся элемнты типа меню навигации, баннеров и так далее. Но само содержание этого уже наполненного шаблона - не менялось! То есть для каждой странички в шаблон вставлял информацию, и сохранял на сервере. После этого, чтобы изменить цвет таблицы, мне пришлось бы заново делать шаблон, выдергивать информацию из старого и вставлять в новый. Можно, конечно, использовать CSS, фреймы, что там еще. Но меня все это по разным причинам не удовлетворяло
Еще, как выход, мне мерещилось использование программы, которая заменяла бы во всех файлах одни строки на другие. Ни то, господа, ни то! Если что то сложное в плане хтмл, да еще написанного вручную, то все это адский труд. Только не подумайте, что я писал на хтмл.
Бывало, конечно, несколько строк накропаю, но я же ленивый. За меня все делало FrontPage 98. Охаиваемое всеми чудо.
Что же делать с этой кучей файлов с расширением *.shtml и невозможностью сменить дизайн так, то бы это не отозвалось болезненным перелопачиванием всей этой кучи? Я ленив, и в своих поисках я набрел на лучшее решение - PHP.
Возможность, которую он дает - один хтмл-шаблон плюс файлы только с содержимым раздела я очень быстро оценил!
Быстренько и монотонно освободив свои shtml ки от разных табличек, вставок, картинок, и другой мутотени я вытер пот со лба. Убрал расширения файлов. Дело в том, что мой хостер хитро сделал-поздней ночью их скрипт вставляет во все файлы с расширением *.html код баннера.
Вот оно ! Стройный ряд файлов выстроился перед моим взором. Умытые, похудевшие и почистившиеся они требовали новой одежки-дизайна.
Я сваял новый шаблон: index.php3.






function foo ($in) {
< !--если не вызывается просто index.php3 то происходит вставка вызываемого файла-->
if ($in != "") {$out=$in;}
< !-- если происходит вызов index.php3 без имени файла, то по умолчанию, вставляется файл main-->
else {$out="main";} return $out;}?>













Теперь я вызываю странички так
http://myserver.ru/index.php3?news
http://myserver.ru/index.php3?links
http://myserver.ru/index.php3?about

А можно и просто
http://myserver.ru/?news
http://myserver.ru/?links
http://myserver.ru/?about


Отсутствие расширений не является критическим требованием. Если у вас набор файлов с расширениями, это не послужит препятствием. Можно вызывать для вставки любые файлы в каталоге раздела.
Например :

http://myserver.ru/index.php3?news.shtml
http://myserver.ru/index.php3?links.txt
http://myserver.ru/index.php3?about.htm

Конечно, если надо вносить изменения в содержимое (новости подновить, новый линк добавить), то приходится открывать файлы news и link и уже там что-то менять.


Минусы подхода:

1) Таги и распространяются на все страницы раздела, объединенных общим index.php3.<br />2) Если поисковая система некорректно обрабатывает сайты, использующие PHP, то пользователь может и не найти Ваш сайт.<br /> <br /></div> <p align="right"><font size="2"><i>Опубликовано 28 сентября 2004 года</i></font></p> </div> <br> <b>Главное изображение:</b> <br> <hr> <SPAN class="noprint"> <div style="max-width:1000px; background-color:AliceBlue; padding:20px; border-radius:10px;" class="linker"> <a href='https://library.by/portalus/modules/computers/readme.php?subaction=showfull&id=1096362333&archive=&start_from=&ucat=&' rel='canonical' title='Перейти к полной версии - Лёгкая смена дизайна с помощью PHP'>Полная версия публикации №1096362333 <b>+ комментарии, рецензии</b></a> → <br> <br> <p><font size="1"><i class="fa fa-home"></i> <a href="https://library.by" title="Белорусская электронная библиотека">LIBRARY.BY</a> → <i class="fa fa-anchor"></i> <a href="readme.php" title="КОМПЬЮТЕРЫ И ИНТЕРНЕТ">КОМПЬЮТЕРЫ И ИНТЕРНЕТ</a> → <i class="fa fa-eye"></i> <a href='https://library.by/portalus/modules/computers/readme.php?subaction=showfull&id=1096362333&archive=&start_from=&ucat=&' rel='canonical' title='Перейти к полной версии - Лёгкая смена дизайна с помощью PHP'>Лёгкая смена дизайна с помощью PHP</a></font></p> <small>При перепечатке <b>индексируемая активная ссылка</b> на LIBRARY.BY <b>обязательна</b>!</small></font> <br> <br> <!--noindex--> <a href="https://library.by/about.html" title="О проекте электронной библиотеки LIBRARY.BY" target="_blank"><img src="https://library.by/lumen/images/18.png" alt="Библиотека для взрослых, 18+" style="margin-right:10px;" class="logohover"></a> <a href="https://libmonster.net" title="International Library Network" rel="nofollow" target="_blank"><img src="https://elibrary.com.ua/images/mapping.png" border="0" hspace="10" alt="International Library Network" class="logohover"></a> <!--noindex--> <!--LiveInternet counter--><a rel="nofollow" href="https://www.liveinternet.ru/click;libmonster" target="_blank"><img id="licnt8A00" width="88" height="31" style="border:0" title="LiveInternet" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7" alt=""/></a><script>(function(d,s){d.getElementById("licnt8A00").src= "https://counter.yadro.ru/hit;libmonster?t57.10;r"+escape(d.referrer)+ ((typeof(s)=="undefined")?"":";s"+s.width+"*"+s.height+"*"+ (s.colorDepth?s.colorDepth:s.pixelDepth))+";u"+escape(d.URL)+ ";h"+escape(d.title.substring(0,150))+";"+Math.random()}) (document,screen)</script><!--/LiveInternet--> <!--/noindex--> <span class="hidden-xs hidden-sm"> <a href="https://libmonster.net/ru/ads/" title="Реклама на сайте библиотеки" target="_blank"><img src="https://yandex.ru/cycounter?library.by" border="0" hspace="10" alt="Реклама на сайте библиотеки" class="logohover"></a> </span> <!--/noindex--> <br> </div> </SPAN> </DIV> <br> <br> <!-- Yandex.RTB R-A-2156586-20 --> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ type: 'fullscreen', platform: 'touch', blockId: 'R-A-2156586-20' }) })</script> </div> </body> </html><form name="form" method="post" id="comment" action=""> <script type="text/javascript"> //<![CDATA[ function insertext(text1,text2,spot){ document.forms['comment'].elements['comments'].value += " " + text1 + text2; } //]]></script><div><input type="hidden" name="javasubaction" value="showfull" /><input type="hidden" name="subaction" value="addcomment" /><input type="hidden" name="ucat" value="" /><input type="hidden" name="show" value="" /></div></form>