Для заполнения шаблона можно применить весь арсенал средств проектирования, которым располагает программа Dreamweaver. Существующие ограничения связаны, главным образом, не с созданием планировки шаблона или его форматированием, а с применением разработанного проекта к гипертекстовым документам.
Приведем описание процедуры, которая позволяет обойти немногочисленные запреты на применение средств форматирования к шаблону. Ее основная идея состоит в том, что созданная на основе шаблона новая страница отделяется от родительского образца. Разрыв связи делает страницу автономным образованием и, тем самым, снимает все ограничения на применение средств и инструментов программы. Страница с завершенным дизайном объявляется новым шаблоном и заменяет старый образец.
Следует отметить, что прибегать к этой громоздкой и небезопасной процедуре целесообразно только в крайних случаях. Большая часть задач по разработке дизайна шаблона и его планировке имеет в программе Dreamweaver прямое решение.
Эта процедура описывается следующей последовательностью действий.
Если в процессе обновления страниц произошла ошибка или выявились несогласованности планировки или форматирования, то, имея резервную копию старого шаблона (my_template_backup.dwt), можно выполнить откат и вернуться предыдущему варианту оформления всех или только избранных страниц.
Вставка динамических сценариев
Динамические сценарии (behaviors) — это очень удобное средство создания динамических эффектов на гипертекстовых страницах. Динамическое поведение, которое требуется сообщить текстовому или графическому объекту, программируется на языке JavaScript или VBScript. Эти короткие программы должны быть написаны и отработаны заранее и внедрены в исходный текст гипертекстового документа. Для записи текста программ может быть использовано тело документа или раздел заголовков. Если документ создан на основе шаблона, то его раздел заголовков закрыт для редактирования. Исключением является короткий фрагмент doctitle, хранящий заголовок документа. Логично предположить, что запись программных кодов в блокированную часть раздела заголовков может окончиться неудачей.
Это обоснованное теоретическое суждение требует практической корректировки. В состав программы Dreamweaver входит несколько стандартных, предустановленных сценариев, которые, по замыслу разработчиков программы, нашли наибольшее применение в проектной практике Web-дизайнеров. Эти тщательно отработанные динамические сценарии обладают максимальной совместимостью со старыми версиями программ просмотра, Многие из них требуют вставки обширных фрагментов кода в раздел заголовков страницы. Все подобные включения выполняются совершенно безболезненно и не требуют проведения каких-либо дополнительных мероприятий.
В свободном обращении в Сети находятся многие сотни сценариев, разработанных разными фирмами и программистами-одиночками. Программа Dreamweaver обладает всеми необходимыми инструментами для включения программных кодов сторонних разработчиков в состав гипертекстового документа.
Чтобы гарантировать безболезненную “имплантацию” кодовых фрагментов в закрытый раздел заголовков документа, требуется внести правки в родительский шаблон. В чем они заключаются? В раздел заголовков шаблона вводится дополнительная открытая область для хранения кодовых последовательностей динамических сценариев. Эта операция выполняется следующим образом.
<mm:editable>
<script> </script>
</mm:edilable>
<mm:editable>
<!—Любой комментарий, который будет
уничтожен программой —>
</mm:editable>
После этого динамические сценарии могут быть добавлены как к самому шаблону, так и к документам, созданным на его основе, без риска потерять программную часть, ассоциированную со сценарием.
Ссылки на шаблонах
Гипертекстовые ссылки, размещенные на страницах шаблона, наследуются порожденными документами, как и другие объекты и коды разметки. Однако процедура создания таких ссылок имеет несколько особенностей.
Напомним способы построения гипертекстовых адресов, принятые в программе. Существует два принципиально различных подхода к целеуказанию объектов: абсолютная и относительная адресация. При абсолютной адресации местоположение объекта задается его полным адресом, которым, в зависимости от ситуации, может быть адрес URL или полный путь поиска файла. Метод относительной адресации использует для целеуказания некоторую точку отсчета в файловой системе — своеобразное начало координат. Программа Dreamweaver разрешает отсчет относительных адресов от положения текущего документа или от корневой папки Web-узла. В зависимости от выбранной точки отсчета, относительные адреса делятся на две группы. В сопроводительной документации на программу они называются document-relative (относительно документа) и root-relative (относительно корневой папки). Точный перевод этих терминов на русский язык весьма громоздок, хотя и часто употребляется в технической литературе. Будем называть метод root-relative корневой адресацией, a document-relative —относительной адресацией. Такое упрощение имеет под собой достаточно серьезные основания. Задание адресов ссылочных объектов от положения текущего документа — это наименее жесткий и самый неустойчивый способ адресации, поэтому есть все основания именовать его относительным.
Напомним кратко основные особенности каждого из методов адресации. Создать ссылку на внешний объект или ресурс, не принадлежащий данному локальному или удаленному сайту, можно только записав его полный абсолютный адрес URL. В этой области такой способ не имеет альтернатив, поэтому остается только принять все издержки, связанные с его применением
Для целеуказания объектов, принадлежащих локальному узлу, можно использовать как относительную, так и корневую адресацию. В разделе, посвященном созданию ссылок в программе Dreamweaver, обсуждались стратегические достоинства и недостатки каждого из этих способов. К этому анализу добавим лишь несколько фактов.
Обязательным условием применения относительной адресации является сохранение файлов источника и ссылки в системе папок, вложенных в корневой каталог локального узла. Программы просмотра, по крайней мере самые популярные из них — Internet Explorer и Netscape Navigator, не могут работать с корневыми адресами. Документ, в котором гипертекстовые связи заданы от корня, можно просмотреть только после загрузки его на удаленный сервер. Программа Dreamweaver использует специальную подстановку адресов, чтобы разрешить просмотр таких документов в броузерах. Область действия этой подстановки — один гипертекстовый переход. Перемещение по цепочке связей, заданных при помощи корневого способа адресации, способно привести к ошибке.
И на шаблонах, и на порожденных документах пользователь может использовать тот метод адресации, который представляется ему предпочтительным в данной проектной ситуации. Следует помнить о том, что шаблон и документы, созданные на его основе, в общем случае могут быть расположены в разных частях системы папок, подчиненной корневой папке узла. Все шаблоны размещаются в папке Templates, вложенной непосредственно в корневую. Документы, порожденные шаблоном, могут иметь любую “прописку” в пределах узла.
Для абсолютных и корневых адресов “смена прописки” источника не имеет значения, поскольку первые вообще не имеют точки отсчета, а для вторых эти функции выполняет корневая папка узла, которая своего положения не меняла. Относительные адреса записываются от положения документа-источника и являются чувствительными к изменению его положения. Программа Dreamweaver отслеживает перемещения документов, созданных на основе шаблона, и автоматически меняет все относительные адреса в соответствии с текущим положением документа.
Программа располагает несколькими техническими приемами создания гипертекстовой ссылки. Все они подробно рассмотрены в главе, посвященной ссылкам. При задании ссылок на шаблонах следует использовать ссылочный маркер-указатель палитры Property Inspector (Инспектор свойств) или задавать их при помощи диалогового окна Select File (Выбор файла). Напомним, что оба эти средства управления располагаются на палитре в разделе Link (Ссылка).
Маркер представляется в виде кружка с перекрестием. Для создания ссылки его надо просто перетащить его на целевой файл в окне Диспетчера узла. Диалоговое окно Select File (Выбор файла) вызывается щелчком по значку папки.
Почему эта техника предпочтительнее всех остальных приемов создания гипертекстовых ссылок? Предположим, мы создаем шаблон на основе существующего документа с заданными гипертекстовыми ссылками. При сохранении документа в формате шаблона программа следит за тем, чтобы все ссылки указывали на заданные ранее объекты. Поскольку шаблоны хранятся в специальной папке Templates, программа самостоятельно преобразует все ссылки, заданные от текущего документа. Когда на основе этого шаблона создаются и сохраняются новые документы, то все ссылки, заданные от документа, автоматически обновляются программой в соответствии с новым положением документа-источника.
Палитра Property Inspector (Инспектор свойств) разрешает вводить любые адреса вручную. Однако этот способ слишком обязывающий: он требует от пользователя, во-первых, аккуратности, а во-вторых, точного представления о расположении всех составляющих гиперссылки (шаблона, документа-источника, целевого файла) в файловой системе. Для узла с разветвленной системой папок и их глубоким вложением такой способ легко может привести к ошибке. Создание гиперсвязей при помощи тех простых полуавтоматических средств целеуказания, которыми располагает программа, страхует пользователя от любых неожиданностей.
Существуют ситуации, когда по разным причинам не удается применить метод перетаскивания маркера-указателя. В этих немногочисленных случаях приходится вводить корректный адрес объекта вручную.