| « Поставить закладку » « Сделать стартовой » | |||
|
|||
| Статьи:: Интернет технологии :: Perl :: ИСПОЛЬЗОВАНИЕ ШАБЛОНОВ ПРИ ПРОГРАММИРОВАНИИ WEB-ПРИЛОЖЕНИЙ В СРЕДЕ PERL
ИСПОЛЬЗОВАНИЕ ШАБЛОНОВ ПРИ ПРОГРАММИРОВАНИИ WEB-ПРИЛОЖЕНИЙ В СРЕДЕ PERL
Может, кто-то скажет, а зачем выносить HTML код в отдельный файл если его можно спокойно писать в скрипте? Да конечно в скрипте можно писать HTML код, но просмотреть полностью «собранную», или частично «собранную» страницу которую выводит скрипт, возможно только при его нормальной работе, а во время отладки скрипта, как правило, возникают некоторые трудности. Потом при смене дизайна, опять же, править HTML код в скрипте сущая каторга, сколько раз я слышал о нареканиях со стороны Web-мастеров, что понять какие куски кода и в какой последовательности выносятся невозможно, так как, по большей части, они не программисты и вникать в код скрипта не намерены. И так далее и тому подобное, поэтому, все-таки будем разделять скрипты от HTML кода…
Сначала, вынося HTML код из
скриптов, я каждый кусок записывал в отдельный файл. Да когда нет
особых сложностей в сборке страницы (шапка, основа, подвал), то
трудностей нет, но когда страница имеет сложные внедрения, такие как
списки, причем одновременно разных видов (например список страниц и
список товаров текущей страницы), количество файлов начинало возрастать
с неимоверной быстротой (у меня дошло до того, что страница стала
собираться из 28 файлов!!!), и опять возникли трудности, неимоверное
количество кусков кода, настолько усложнило их обработку и
редактирование, что я пришел опять к изначальной точке…
<html> Выглядит наша таблица как:
Какие блоки кода нам понадобятся:
Что нужно будет изменять на странице:
После обработки получаем такой HTML-код: <html> Что получается? Перед каждой строкой определенного блока кода мы вставили небольшой комментарий в виде , и в тех местах, где мы должны вставить код мы добавили по дополнительному комментарию (, , ). Причем комментарий у нас получился в середине куска кода который мы отметили как !
Мы можем проверить стили и общий дизайн «не отходя от кассы». Ну теперь когда мы сделали шаблон, попробуем его обработать: У нас есть переменная $category – название категории; Пишем код: # Загружаем шаблон $file = “list.html”; # Разрезаем его на блоки: foreach (@template) { * Примечание: Почему мы забираем всего 1 строку в массив? да на всякий случай, вдруг завтра это выражение мы будем писать несколькими строчками в HTML коде. # Собираем строку с номерами страниц $number = @goods; * Примечание: Подобную процедуру можно производить и в конце во время окончательной обработки шаблона. # Собираем таблицу с товарами $first_goods = ($page – 1)*$num_goods; for ($i = $first_goods; $i < $last_goods; $i++) { # Окончательная обработка шаблона foreach (@template) { * Примечание: Если мы подобную процедуру не произвели ранее # Выводим результат на экран print "Content-type: text/html; charset=windows-1251 ";
Конечно использование данного метода может немного замедлить работу скрипта, так как проводится довольно много циклов, но убрав HTML-код из скрипта мы, тем самым, уменьшили его размер, а собрав шаблон в один файл, мы упростили дальнейшую работу с ним. Так же подобное решение использовано на сайте Пятиком.ру и других смежных проектах в динамичных разделах и административном интерфейсе, и пока не вызывало нареканий со стороны web-мастеров. Автор: Phoinix (Томулевич Сергей) Рубрика: Perl
ASP.NET и немного поисковой оптимизации.
С тех пор, как появилась Альтависта, большинство посетителей стали приходить на сайты из поисковых машин. И головной боли стало больше. Теперь мало написать сайт, нужно сделать его совместимым с поисковыми ботами. Одна из тех задач, которую приходится решать — быстрая переиндексация обновлений на сайте. Поисковые роботы чаще посещают те сайты, которые чаще меняются.
Подробнее... |
Рубрика: Советы
| Добавлено: 30.07.2008
Protocol buffers: библиотека обмена данными для C++, Java, Python от Google.
Наконец-то я могу поделиться тем, чему уже давно радуюсь сам: Google открывает исходники Protocol Buffers! Что это и почему надо радоваться? Это простой и удобный способ обмена данными. Можно сказать, альтернатива XML, но гораздо менее амбициозная и (поэтому) более быстрая и компактная. Далее - перевод отрывка анонса в блоге Open Source at Google и пример использования.
Подробнее... |
Рубрика: Программирование для Web на C
| Добавлено: 30.07.2008
Описание VivaVisualCode.
В данной статье рассмотрена программа VivaVisualCode, демонстрирующая использование библиотеки VivaCore. Программа VivaVisualCode графически отображает дерево разбора для вводимого исходного кода на языке Си++.
Подробнее... |
Рубрика: VivaCore
| Добавлено: 29.07.2008
Остальные статьи:
JQuery: Пара сотен плагинов в одной заметке
Касание сетки
Разработка элементов управления ASP.NET на примере навигационной панели
Сохранения параметров приложения в .Net
Custom cursors в .Net
Бегун убегает от хозяина
"Битрикс" выпустил седьмую версию CMS
Выбираем систему управления сайтом
Рынок CMS в Европе или впечатления с CeBIT 2008
32 подводных камня OpenMP при программировании на Си++
Проeкт - шифровка
А что если..? (операторы if...else в C#)
Измерение скорости работы скрипта
О том как разработчики пьют кофе
Работаем с LINQ to XML
XmlSerializer - Assembly Leak без спроса |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|