Visual Basic + ASP. Использование шаблонов (исходники)Источник: olevarty Олег Баша
Платформа: Windows NT, 2000, XP Сегодня крайне сложно найти в Интернете более-менее приличный сайт, сверстанный на "чистом" html. Даже, если количество страниц не превышает одного, двух десятков, мысль о постепенном расширении сайта или, скажем, о его редизайне тут же причинит кошмарную головную боль веб-мастеру, если он попытается представить себе кодирование каждой отдельной страницы вручную. А построение объемных сайтов вообще не мыслимо без использования шаблонов. В данной статье я не претендую на что-либо новое, а всего лишь попытаюсь рассказать об одном из самых простых способов того, как сделать сайт легко расширяемым, чтобы обновление и добавление новых материалов было процессом совершенно необременительным для веб-мастера. С использованием Active Server Pages и простенькой DLL мы создадим систему генерации страниц сайта "на лету" на основании некоего существующего шаблона, подставляя в зависимости от полученного параметра в него тот или иной контент. Итак, поехали. Листинг 1. HTML-шаблон. {$Content$}
</body> Далее, создайте файл main.asp с кодом, приведенном в листинге 2. Листинг 2. Страница ASP.
Теперь самое главное. Открываем Visual Basic. Создаем новую ActiveX DLL. Меняем имя с Project1 на WebSite. Добавляем новый класс и называем его Cmain. См. Листинг 3. Листинг 3. Класс WebSite.Cmain. Content = Private Function getTemplateFile(sFileName As String) Private Sub Class_Initialize() Далее, для простоты помесите всё в одну папку, откомпилируйте и зарегистрируйте на Вашем сервере COM-object. Создайте 2 файла: 1.txt и 2.txt и поместите в них какой-нибудь контент. Теперь попробуйте в браузере открыть страницы http://yourdomain/main.asp?file=1 и http://yourdomain/main.asp?file=2. Должно работать как часы. Обратите внимание, что мы не делаем никакой проверки корректности имени файла, запрашиваемого через адресную строку. Это, в частности, приведет к тому, что при попытке открыть http://yourdomain/main.asp возникнет ошибка. Так же, необходимо проверять все параметры еще и из соображений безопасности. В данном примере код сильно упрощен только для того, чтобы продемонстрировать основные идеи. Использовать его по другому назначению без усовершенствования не рекомендую. Так же, хотелось бы обратить Ваше внимание вот на что:
|