Рейтинг
Порталус

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

Дата публикации: 28 сентября 2004
Публикатор: maskaev
Рубрика: КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ Программирование →
Номер публикации: №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="3"><i>Опубликовано на Порталусе 28 сентября 2004 года</i></font></p> <div style="float:right;" class="hidden-xs hidden-sm"> <p>Автору публикации: <a href="index.php?mod=editnews&action=editnews&id=1096362333&source=" title="Редактировать, править, удалить?" target="_blank" rel="nofollow"<img src="../images/paste.gif" width="20" height="20" border="0" class="logohover"><img src="../images/cut.gif" width="20" height="20" border="0" class="logohover"><img src="../images/delete.gif" width="20" height="20" border="0" class="logohover"></a> </p> </div> <span class="hidden-xs"> <img src="../printer.gif" width="12" height="15" hspace="3"> <input type="button" value="Отправить на печать (без рекламы, только текст и фото)" onclick="location.href='https://portalus.ru/modules/computers/print.php?subaction=showfull&id=1096362333&archive=&start_from=&ucat=&'"></input> <br><br> </span> <DIV class="linker"> <div class="col-md-6"> <h2 class="head-title" style="margin-left:-1px;">Новинки на Порталусе:</h2> <div class="titler" style="font-size: 16px; line-height: 30px; font-family: Arial;"> <script type="text/javascript"> //MAIN FUNCTION: rssdisplaybox("rssfeed_id", "rssbox_id", "rssbox_class") var russ=new rssdisplaybox("ru", "cssdriveid", "someclass") russ.set_items_shown(5) //Fetch and display first 4 entries russ.set_template("titlesdates") //Use "default" template, which outputs title + description + date russ.start() //Required: start script </script> </div> </div> <div class="col-md-6"> <h2 class="head-title" style="margin-left:-10px;">Сегодня в трендах <span class="badge badge-danger" style="background-color: red;">top-5</span></h2> <div class="titler" style="font-size: 16px; line-height: 30px; font-family: Arial; margin-top:15px;"> <script type="text/javascript"> //MAIN FUNCTION: rssdisplaybox("rssfeed_id", "rssbox_id", "rssbox_class") var russ=new rssdisplaybox("flag", "flag", "someclass") russ.set_items_shown(5) //Fetch and display first 4 entries russ.set_template("flag") //Use "default" template, which outputs title + description + date russ.start() //Required: start script </script> </div> </div> </DIV> <a name="comments"></a> <br> <div style="clear: both"></div> <div style="float:right; margin-right:30px;" class="hidden-xs hidden-sm"><br><span style="color:green;">★</span> <a href="rus_cpanel.htm" title="Бесплатно опубликовать статью, заметку или книгу на Порталусе"><u>Добавить свою публикацию в ответ</u></a> →</div> <font size="6" face="Arial" >Ваше мнение<span class="hidden-xs hidden-sm"> о публикации</span>?</font><br><br> <!--noindex--> <div id='vk_comments'></div> <script type='text/javascript'> VK.Widgets.Comments('vk_comments', {limit: 10, width: '730', attach: '*'}); </script> <!--/noindex--> <a name="link"></a> <br> <div style="width:100%; background-color:Beige; padding-top:20px; padding-bottom:10px; padding-left:20px; border-radius: 10px;" class="linker hidden-xs"> <font face="Arial" size="5" style="color:black;">Адрес публикации для цитирования:</font> <br><br> <b> <img src="https://elibrary.com.ua/images/flags/ru.png" style="margin-right:5px;" align="bottom" width="10"> <span style="margin-right:5px;"><i class="fa fa-globe"></i></span><font size="2">По международным научным стандартам и по ГОСТу РФ 2003 г. (<a href="https://portalus.ru/modules/russianlaw/rus_readme.php?subaction=showfull&id=1434471888&archive=&start_from=&ucat=&" title="ГОСТ 7.1-2003, Библиографическая запись">ГОСТ 7.1-2003</a>, "Библиографическая запись")</font> </b> <br><br> <quote>Лёгкая смена дизайна с помощью PHP [Электронный ресурс]: электрон. данные. - Москва: Научная цифровая библиотека PORTALUS.RU, 28 сентября 2004. - Режим доступа: https://portalus.ru/modules/computers/rus_readme.php?subaction=showfull&id=1096362333&archive=&start_from=&ucat=& (свободный доступ). – Дата доступа: 28.03.2024.</quote> <br><br> <b><img src="https://elibrary.com.ua/images/flags/ru.png" style="margin-right:5px;" align="bottom" width="10"><font size="2">По ГОСТу РФ 2008 г. (<a href="https://portalus.ru/modules/russianlaw/rus_readme.php?subaction=showfull&id=1434470987&archive=&start_from=&ucat=&" title="ГОСТ 7.0.5—2008, Библиографическая ссылка">ГОСТ 7.0.5—2008</a>, "Библиографическая ссылка")</font> </b> <br><br> Лёгкая смена дизайна с помощью PHP // Москва: Научная цифровая библиотека PORTALUS.RU. Дата обновления: 28 сентября 2004. URL: https://portalus.ru/modules/computers/rus_readme.php?subaction=showfull&id=1096362333&archive=&start_from=&ucat=& (дата обращения: 28.03.2024). <p align="right"><a href="#" title="В начало статьи">наверх</a> ↑</p> </div> <br> Искали что-то другое? Поиск по Порталусу:<br> <form name="search" action="https://portalus.ru/about.php#start" method="get" accept-charset="utf-8"> <div class="input-group input-group-lg"> <input type="hidden" name="l10n" value="ru"/> <input type="hidden" name="reqenc" value="utf-8"/> <input name="q" class="form-control input-lg" id="search-church"> <span class="input-group-btn"> <button type="submit" class="btn btn-success btn-lg">Искать в базе</button> </span> </div> </form> <br> <!-- Yandex.RTB R-A-2156584-7 --> <div id="yandex_rtb_R-A-2156584-7"></div> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ "blockId": "R-A-2156584-7", "renderTo": "yandex_rtb_R-A-2156584-7", "type": "feed" }) }) </script> </DIV> <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> <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="1" /><input type="hidden" name="show" value="" /></div></form> <div style="margin-left:20px; margin-right:20px;"> </div> <div align="right" style="margin-right:20px; padding-bottom:100px; clear: both;" class="hidden-xs"> <br> <a href="https://libmonster.net" title="World Library Network" target="_blank"><img src="https://elibrary.com.ua/images/mapping.png" alt="World Library" class="logohover"></a> <a href="https://portalus.ru/about.php#start" title="Отзывы о проекте Порталус"><img src="https://library.by/lumen/images/18.png" alt="Проект для детей старше 12 лет!" hspace="10" class="logohover"></a> <!--noindex--> <!--LiveInternet counter--><a href="https://www.liveinternet.ru/click;libmonster" target="_blank" rel="nofollow"><img id="licnt1CED" width="88" height="31" class="logohover" style="border:0" title="LiveInternet: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7" alt=""/></a><script>(function(d,s){d.getElementById("licnt1CED").src= "https://counter.yadro.ru/hit;libmonster?t17.1;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--> <div style="margin-top:20px;"> <span class="linker"> 2004-2024 гг. © <a href="https://portalus.ru/" title="Научная цифровая библиотека">Всероссийская научная библиотека</a> <br><br> <a href="https://portalus.ru/modules/russianlaw/rus_cpanel.htm" title="Разместить начную статью в Интернете бесплатно" target="_blank" rel="nofollow">Добавить публикацию</a> • <a href="https://libmonster.net/ru/ads/index.html#portalus" title="Разместить рекламу на Порталусе" target="_blank" rel="nofollow">Разместить рекламу</a> • <a href="https://portalus.ru/about.php#start" title="Информация об электронной библиотеке">О Порталусе</a> • <a href="https://portalus.ru/index.php#rating" title="Лучшие публикации на Порталусе за сегодня">Рейтинг</a> • <a href="https://portalus.ru/index.php#catalog" title="Каталог рубрик проекта Порталус">Каталог</a> • <a href="https://portalus.ru/about.php#about" title="Как опубликовать статью в Интернете бесплатно">Авторам</a> • <a href="https://portalus.ru" title="Поиск по Порталусу">Поиск</a> <br>Главный редактор: <a href="https://vk.com/smogorzhevskiy" target="_blank" rel="nofollow">Смогоржевский B.B.</a> <br><br> <a href="https://vk.com/libmonster" target="_blank" rel="nofollow" title="Порталус вКонтакте">Порталус в VK</a> </span> </div> </div> <div class="visible-xs"> <br> <a href="https://portalus.ru/about.php#about" type="button" class="btn btn-primary btn-lg btn-block" style="color: white;">О Порталусе</a> <a href="https://portalus.ru/index.php#rating" type="button" class="btn btn-primary btn-lg btn-block" style="color: white;">Рейтинг</a> <a href="https://portalus.ru/index.php#catalog" type="button" class="btn btn-primary btn-lg btn-block" style="color: white;">Каталог</a> <a href="https://portalus.ru/about.php#about" type="button" class="btn btn-primary btn-lg btn-block" style="color: white;">Авторам</a> <a href="https://libmonster.net/ru/ads/index.html#portalus" type="button" class="btn btn-success btn-lg btn-block" rel="nofollow" style="color: white;">Реклама</a> <br><br> </div> <!-- Yandex.RTB R-A-2156584-6 --> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ type: 'fullscreen', platform: 'touch', blockId: 'R-A-2156584-6' }) })</script> </body> </html>