Работа
с динамическими атрибутами
Когда
мы говорили о шаблонах (см. главу 9), то выяснили, что атрибуты тегов можно
сделать изменяемыми. В Web-страницах, созданных на основе шаблона, мы можем
задавать значения для этих атрибутов и, таким образом, менять их внешний вид
в более широких пределах. Но атрибуты тегов можно сделать и динамическими, т.
е. брать их значения из полей набора данных. Здесь мы рассмотрим, как работать
с такими атрибутами.
Давайте
сделаем так, чтобы содержимое разных записей набора данных Guestbook отображалось
различным цветом в зависимости от значения, содержащегося в поле sign. Пусть,
например, содержимое поля Content отображается темно-синим цветом, если в поле
sign содержится единица ("Положительно"), темно-красным — если содержится
тройка ("Отрицательно"), черным — в остальных случаях (двойка, "Нейтрально").
Соответствующие коды цветов в этом случае:
Откроем
базу данных Guestbook.mdb в Access и создадим новое поле в таблице signs. Дадим
этому полю имя Color, текстовый тип и установим его длину в 7 символов — этого
хватит, чтобы хранить коды цветов. После чего откроем таблицу signs и введем
коды цветов в соответствующие записи таблицы. После этого закроем Access.
Далее
переключимся в Dreamweaver, вызовем диалоговое окно Recordset для набора
данных Guestbook и добавим в него вновь созданное поле. Попробуйте сделать это
самостоятельно. Если же вы хотите сразу перейти к работе с динамическими атрибутами,
просто введите в поле ввода SQL такой код:
SELECT
Content, Desc, Color FROM Guestbook, Signs WHERE Sign=ID
Теперь
выделим содержимое повторяющейся области страницы, щелкнув по тексту "{Guestbook.Content}",
и зададим для него черный цвет. Для этого воспользуемся хорошо знакомым селектором
цвета в редакторе свойств. В результате Dreamweaver поместит содержимое повторяющейся
области в тег <FONT> с атрибутом COLOR — как вы помните, именно с их помощью
задается цвет текста.
Теперь
выделите содержимое тега <FONT>, щелкнув по соответствующей кнопке секции
тегов. И переключитесь в режим отображения кода. Хотя в интерактивном руководстве
и описано, как привязать атрибут к полю набора данных в режиме отображения страницы,
но почему-то в данном случае Dreamweaver ведет себя очень странно. В частности,
раскрывающийся список Bind To, с помощью которого и выполняется привязка
поля набора данных к атрибуту тега, остается недоступным. Поэтому мы поступим
иначе.
Выделите
значение атрибута COLOR тега <FONT>. А теперь просто перетащите на него
пункт Color панели Bindings. Значение атрибута COLOR примет такой
вид (выделено полужирным шрифтом):
<FONT
COLOR="<%=(Guestbook.Fields.Item("Color").Value)%>">
Код,
который Dreamweaver подставил в качестве значения атрибута COLOR, извлекает
из поля Color набора данных значение цвета и присваивает его атрибуту COLOR.
Как видите, все достаточно просто и, опять же, "прозрачно".
Точно
таким же образом вы можете создавать другие динамические атрибуты. Главное -
"попасть" мышью в нужный фрагмент исходного кода. Но, вероятно, вы
с этим справитесь и сами.
Вот
и все. Теперь можете открыть вашу страницу в Web-обозревателе и посмотреть на
получившийся результат.