Узнайте, как использовать шаблоны Dreamweaver для разработки «фиксированной» макета страницы и создавайте на основе шаблона документы, наследующие его макет страницы.

Шаблон — это особый тип документа, который используется для разработки «фиксированной» макета страницы. На основе шаблона можно создавать документы, наследующие его макет страницы. При разработке шаблона можно указать в качестве доступного для редактирования то содержимое, которое пользователь сможет редактировать в документе, созданном на основе шаблона. Шаблоны позволяют авторам управлять правами на редактирование отдельных элементов страницы, которые предоставляются пользователям шаблона (писателям, художникам или другим веб-разработчикам). Есть несколько типов областей шаблона, которые автор может включить в документ.

Примечание.

Шаблоны позволяют управлять большой областью разработки дизайна и многократно использовать готовые макеты. Чтобы многократно использовать отдельные элементы оформления, например информацию об авторских правах сайта или логотип, создайте элементы библиотеки.

С помощью шаблонов можно изменять несколько страниц одновременно. Созданный на основе шаблона документ остается связанным с этим шаблоном (если документ не отсоединен позднее). Можно изменить шаблон и немедленно обновить оформление всех документов на основе этого шаблона.

Примечание.

Шаблоны Dreamweaver отличаются от шаблонов некоторых других программных продуктов Adobe Creative Cloud тем, что раздел «Страница» в них по умолчанию является фиксированным (недоступным для редактирования).

Типы областей шаблона

При сохранении документа в качестве шаблона большинство его областей блокируется. Путем добавления в шаблон редактируемых областей или редактируемых параметров его автор может определить, какие области документа на основе шаблона будут доступны для редактирования.

При создании шаблона можно вносить изменения в редактируемые и заблокированные области. Однако пользователь шаблона может вносить изменения только в редактируемые области документа на основе шаблона. Блокированные области изменять нельзя.

Есть четыре типа областей шаблона.

Редактируемая область. Незаблокированная область документа на основе шаблона — раздел, доступный для редактирования пользователю шаблона. Автор шаблона может сделать любую область шаблона доступной для редактирования. Чтобы шаблон был эффективен, он должен содержать хотя бы одну редактируемую область. В противном случае страницы на основе шаблона нельзя будет редактировать. Дополнительные сведения о редактируемых областях см. в разделе Создание редактируемых областей в шаблонах.

Повторяющаяся область. Раздел макета документа, настроенный таким образом, чтобы пользователь шаблона мог при необходимости добавлять или удалять копии повторяющейся области в документе на основе шаблона. Например, повторяющейся можно сделать строку таблицы. Повторяющиеся разделы доступны для редактирования, поэтому пользователь шаблона может редактировать содержимое повторяющегося элемента, в то время как оформлением управляет автор шаблона.

Есть 2 типа повторяющихся областей, которые можно вставлять в шаблон: повторяющаяся область и повторяющаяся таблица. О том, как работать с повторяющимися областями, см. в разделе Создание повторяющихся областей и таблиц в Dreamweaver.

Дополнительная область. Раздел шаблона, в котором находится содержимое, например текст или изображение, которые могут отображаться или не отображаться в документе. Пользователь может управлять отображением содержимого страницы на основе шаблона. Дополнительные сведения см. в разделе Дополнительная область.

Редактируемый атрибут тега. Позволяет разблокировать атрибут тега в шаблоне, чтобы атрибут можно было редактировать на странице на основе шаблона. Например, можно заблокировать отображение отдельных изображений в документе, но разрешить пользователю шаблона устанавливать выравнивание по левому краю, правому или центру. Дополнительные сведения см. в разделе Определение редактируемых атрибутов тега в Dreamweaver.

Когда файл шаблона создается путем сохранения существующей страницы в качестве шаблона, новый шаблон в папке Templates и все ссылки в файле обновляются таким образом, чтобы пути относительно документов были верны. Позже, при сохранении документа на основе этого шаблона, все ссылки относительно документов обновляются снова и указывают на правильные файлы.

Когда в файл шаблона добавляется новая ссылка относительно документа, существует вероятность указания ошибочного имени пути, если оно вводится в текстовое поле ссылки в инспекторе свойств. Верный путь в файле шаблона — это путь от папки Templates к связанному документу, а не от папки документа, основанного на шаблоне, к связанному документу. Чтобы при создании ссылок в шаблонах указывались только правильные существующие пути для ссылок, используйте значок папки или значок «Указать файл» в инспекторе свойств.

Серверные сценарии в шаблонах и документах на основе шаблонов

Некоторые серверные сценарии добавляются в самом начале или конце документа (перед тегом <html> или после тега </html>). Такие сценарии требуют специальной обработки в шаблонах и документах на основе шаблонов. Обычно, если изменения в коде сценария необходимо внести перед тегом <html> или после тега </html> в шаблоне, то эти изменения не копируются в документ на основе шаблона. Это может вызвать ошибки сервера, если другие серверные сценарии в пределах основной части шаблона зависят от сценариев, которые не скопированы. Если в сценарии перед тегом <html> или после тега </html> в шаблоне вносятся изменения, то появляется предупреждение.

Чтобы избежать данной проблемы, можно добавить в раздел head шаблона следующий код.

<!-- TemplateInfo codeOutsideHTMLIsLocked="true" -->

Если шаблон содержит этот код, то изменения в сценарии перед тегом <html> или после тега </html> копируются в документ на основе шаблона. Однако эти сценарии в документах на основе шаблонов станут недоступными для редактирования. Таким образом, эти сценарии можно редактировать либо в шаблоне, либо в документах на его основе, но не одновременно в шаблоне и документах.

Параметры шаблона

Параметры шаблона содержат значения для управления содержимым в документах на основе шаблона. Параметры шаблона используются для дополнительных областей или редактируемых атрибутов тега, либо для установки значений, которые необходимо передать вложенному документу. Выберите для каждого параметра имя, тип данных и значение по умолчанию. Каждый параметр должен иметь уникальное имя (оно обрабатывается с учетом регистра). Значения должны принадлежать одному из 5 допустимых типов данных: text, boolean, color, URL или number.

Параметры шаблона передаются документу в качестве параметров экземпляра. В большинстве случаев пользователь шаблона может редактировать значение параметра по умолчанию, чтобы настроить отображение содержимого в документе на основе шаблона. В других случаях автор шаблона может определять, что будет отображаться в документе в зависимости от значения выражения шаблона.

Выражения шаблона

Выражения шаблонов — это инструкции, которые вычисляют или обрабатывают значение.

Выражение позволяет сохранять значение и отображать его в документе. Например, выражение может быть просто значением параметра, например @@(Param)@@, либо достаточно сложным, чтобы вычислить значения, которые чередуют цвет фона в строке таблицы, например @@((_index & 1) ? red : blue)@@.

Кроме того, можно определить выражения для условного оператора if и вложенных условных операторов if. Если выражение используется в условной инструкции, то Dreamweaver обрабатывает его как true или false. Если условие имеет значение «true», то дополнительная область в документе на основе шаблона отображается. В противном случае она не отображается.

Выражения можно определить в представлении «Код» или диалоговом окне «Дополнительная область» во время добавления дополнительной области.

Выражения шаблона можно описать в представлении «Код» 2 способами: с помощью комментария <!-- TemplateExpr expr="your expresson"--> или @@(your expression)@@. При добавлении выражения в код шаблона в представлении «Дизайн» отображается маркер выражения. При применении шаблона Dreamweaver обрабатывает выражение и отображает значение в документе на основе шаблона.

Язык выражений шаблонов

Язык выражений шаблонов — это небольшое подмножество языка JavaScript, использующее синтаксис JavaScript и правила приоритета. Для написания выражений, подобных приведенному ниже, следует использовать операторы JavaScript:

@@(firstName+lastName)@@

Поддерживаются следующие функции и операторы.

  • Числовые литералы, строковые литералы (только в двойных кавычках), литералы Boolean (true или false).

  • Ссылка на переменную (см. список определенных переменных ниже в этом разделе).

  • Ссылка на поле (оператор «dot»).

  • Унарные операторы: +, -, ~, !

  • Бинарные операторы: +, -, *, /, %, &, |, ^, &&, ||, <, <=, >, >=, ==, !=, <<, >>

  • Условный оператор: ?:

  • Круглые скобки: ()

    Используются следующие типы данных: Boolean, 64-битное число IEEE с плавающей точкой, string и object. Шаблоны Dreamweaver не поддерживают использование в JavaScript типов «null» или «undefined». Кроме того, не разрешается неявное преобразование скалярных типов в объекты. Таким образом, выражение "abc".length вместо значения 3 выдаст ошибку.

    Доступны только те объекты, которые описаны объектной моделью выражений. Определены следующие переменные.

    _document

    Содержит данные шаблона на уровне документа с полем для каждого параметра в шаблоне.

    _repeat

    Определен только для выражений, которые отображаются внутри повторяющейся области. Предоставляет встроенные сведения об области.

    _index

    Числовой индекс (от 0) для текущей записи.

    _numRows

    Общее количество записей в данной повторяющейся области.

    _isFirst

    True, если текущая запись является первой в ее повторяющейся области.

    _isLast

    True, если текущая запись является последней в ее повторяющейся области.

    _prevRecord

    Объект _repeat для предыдущей записи. Обращение к этому свойству для первой записи в области является ошибкой.

    _nextRecord

    Объект _repeat для следующей записи. Обращение к этому свойству для последней записи в области является ошибкой.

    _parent

    Во вложенной повторяющейся области это свойство передает объект _repeat для окружающей (внешней) области повтора. Обращение к этому свойству вне вложенной повторяющейся области является ошибкой.

    Во время обработки выражения все поля объектов _document и _repeat не явно доступны. Например, для доступа к параметру заголовка документа можно ввести title вместо _document.title.

    В случаях конфликта полей поля объекта _repeat имеют приоритет над полями объекта _document. Поэтому нет необходимости в явных ссылках на _document или _repeat, за исключением случаев, когда _document в повторяющейся области может быть необходим параметрам документа, которые скрыты параметрами повторяющейся области.

    Если используются вложенные повторяющиеся области, то неявно доступными будут только поля наиболее глубоко вложенных повторяющихся областей. На внешние области требуется явная ссылка с помощью свойства _parent.

Вложенные условные операторы If в коде шаблона

Выражения шаблона можно определить для условного оператора if и вложенных условных операторов if. В этом примере показано определение параметра с именем «Отдел», задание начального значения и определение вложенных условных операторов If, управляющих отображением логотипа.

Ниже приведен пример кода, который можно добавить в раздел head шаблона.

<!-- TemplateParam name="Dept" type="number" value="1" -->

Следующий условный оператор проверяет значение, связанное с параметром Dept. Если условие истинно или выполняется, то отображается соответствующее изображение.

<!-- TemplateBeginMultipleIf --> 
<!-- checks value of Dept and shows appropriate image--> 
<!-- TemplateBeginIfClause cond="Dept == 1" --> <img src=".../sales.gif"> <!-- TemplateEndIfClause --> 
<!-- TemplateBeginIfClause cond="Dept == 2" --> <img src=".../support.gif"> <!-- TemplateEndIfClause--> 
<!-- TemplateBeginIfClause cond="Dept == 3" --> <img src=".../hr.gif"> <!-- TemplateEndIfClause --> 
<!-- TemplateBeginIfClause cond="Dept != 3" --> <img src=".../spacer.gif"> <!-- TemplateEndIfClause --> 
<!-- TemplateEndMultipleIf -->

При создании документа на основе шаблона ему автоматически передаются параметры шаблона. Пользователь шаблона определяет отображаемое изображение.

Эта работа лицензируется в соответствии с лицензией Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported  На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.

Правовые уведомления   |   Политика конфиденциальности в сети Интернет