
- •"Web-программирование" методические указания
- •Содержание
- •Введение
- •Лабораторная работа №1 Разработка приложений с помощью php
- •Теоретические сведения
- •Функция in_array
- •Функция array_search
- •Лабораторная работа №2 Работа с файлами в php
- •Теоретические сведения
- •Лабораторная работа №3 Разработка приложений бд на cервере MySql с помощью php
- •Краткие теоретические сведения
- •Взаимодействие php и MySql
- •Установка соединения
- •Выбор базы данных
- •Получение списка полей таблицы
- •Insert.Php
- •Лабораторная работа №4 Разработка сайта с использованием mvc фреймворка
- •Теоретические сведения
- •Лабораторная работа №5 Работа с таблицами бд с использованием mvc фреймворка
- •Теоретические сведения
- •View/Profiles.Php
- •Лабораторная работа №6 Прототипирование веб-сайта с использованием технологий «классического» php и шаблонизатора Smarty
- •Теоретические сведения
- •Возможности php
- •Задание на работу:
- •Лабораторная работа №7 Использование Ajax и js библиотек
- •Теоретические сведения
- •Поддержка ajax браузерами
- •Страница html для примера ajax
- •Код JavaScript приложения ajax
- •Серверные страницы ajax для asp и php
- •Пример ajax на php
- •Создание объекта xmlHttp
- •Xml, json или текст
- •Пример со списком контактов
- •Dom (Document Object Model).
- •Взаимодействие php и xml посредством dom xml
- •Перевод данных xml-файла в объекты и классы php
- •Задание на работу:
- •Лабораторная работа №8 Разработка компонент для cms Joomla. Разработка простого компонента для пользовательской части
- •Лабораторная работа №9 Разработка компонент для cms Joomla. Разработка компонента с использованием базы данных
- •Лабораторная работа №10 Разработка компонент для cms Joomla. Разработка компонента с административной частью
- •Лабораторная работа №11 Разработка приложения с помощью технологии asp.Net
- •Теоретические сведения
- •Первый проект
- •Задание на работу
- •Лабораторная работа №12 Авторизация. Поддержка сеанса пользователя
- •Теоретические сведения
- •Лабораторная работа №13 Работа с бд в asp.Net
- •Теоретические сведения
- •Лабораторная работа №14 Оформление дизайна страниц в asp.Net
- •Теоретические сведения
- •Основы Master Pages
- •Темы и skin (шкурки)
- •Web-програмування
Темы и skin (шкурки)
В интерфейсе почтовой службы Rambler дизайн страниц меняется в зависимости от времени года. Пользователь может сам выбрать себе вариант дизайна. Подобной функциональности в ASP .NET можно добиться с помощью тем.
Темы похожи на CSS тем, что тоже позволяют определять внешний вид страниц. Но темы могут сделать гораздо больше них. Таблицы стилей определяются для тегов HTML, а скины, которые входят в тему, — для элементов управления. Скины применяются на стороне сервера, поэтому могут использоваться для установки специфичных свойств серверных контролов. Например, для элемента управления Calendar таким свойством является DayNameFormat. CSS никак не позволяет оперировать такими свойствами.
Темы можно применять к страницам, к сайту или отдельным элементам управления.
Файлы тем находятся в папке с зарезервированным названием App_Themes. Эту папку можно создать, если в контекстном меню проекта выбрать "Add ASP .NET Folder". В папке App_Themes можно создавать темы, например, для разных времен года. У каждой темы будет свой каталог, в котором будут находиться относящиеся к ней файлы. На многих сайтах пользователь может выбрать тему. Вложение тем друг в друга не допускается.
Каждая тема обычно состоит из одного или нескольких файлов скинов с расширением ".skin", а также других, необходимых для задания внешнего вида сайта файлов, таких как файлы каскадных таблиц стилей, картинок, XSL-преобразований и так далее, которые также могут быть упорядочены в поддиректориях корневой директории темы. Файлы скинов и таблиц стилей обычно расположены в корне темы, а картинки — в поддиректории Images.
Темы можно применить к странице с помощью атрибута Theme директивы Page. Тему можно поменять программно. Поэтому можно дать возможность пользователю выбрать тему. Тему можно установить до или во время события PreInit:
protected void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = "Black";
}
Тему можно применить ко всем страницам приложения, если в файле web.config вставить эту директиву:
<configuration>
<system.web>
<pages theme=" Black " />
</system.web>
</configuration>
Если тема установлена в странице, она имеет преимущество перед глобальной темой. Темы страницы переопределяют свойства элементов управления. Если нужно, чтобы темы не применялись к элементу, нужно установить его свойство EnableTheming в False.
Если нужно отменить применение темы к группе элементов, можно поместить их в Panel и установить его свойство EnableTheming в False.
Свойство EnableTheming можно менять и на уровне страницы:
<%@ Page Language="C#" AutoEventWireup="true" EnableTheming="False"%>
Атрибут StylesheetTheme работает так же, как и Theme. Но если тема установлена с помощью этого атрибута, то свойства управления элемента имеют преимущество перед темой страницы.
В файлах тем с расширением .skin хранятся варианты внешнего вида элементов управления. Перевод термина skin на русский язык не устоялся. Можно называть его "шкурка" или "оболочка".
Скин — это шаблон элемента управления с определением набора визуальных свойств, которые будут использоваться для генерации элементов управления данной темы. Скины могут работать вместе с картинками и таблицами стилей. Один ".skin"-файл может хранить множество разных элементов управления. Например, в проекте "Starter Kit" определены две темы — Black и White. В файле Default.skin обеих тем хранятся скины элементов ImageButton, Image, GridView.
Можно создать столько файлов шкурок, сколько необходимо. Для удобства и ясности можно создать файлы скинов для каждого элемента, например, Label.skin, GridView.skin.
Создайте в папке App_Themes тему Summer. Добавьте в тему скин Calendar.skin.
Описание стиля элемента управления похоже на описание на странице, с тем отличием, что атрибут ControlId не указывается. Однако необходимо указать атрибут runat="server":
<asp:Calendar runat="server" BackColor="Honeydew"
BorderColor="Teal" BorderWidth="1px" CellPadding="1"
DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="DarkSlateGray" Height="200px" Width="220px">
<SelectedDayStyle BackColor="#009999" Font-Bold="True"
ForeColor="#CCFF99" /> <SelectorStyle BackColor="#99CCCC"
ForeColor="#336666" /> <WeekendDayStyle BackColor="#C0FFC0" />
<OtherMonthDayStyle ForeColor="#999999" />
<TodayDayStyle BackColor="#99CCCC" ForeColor="White" />
<NextPrevStyle Font-Size="8pt" ForeColor="#CCCCFF" />
<DayHeaderStyle BackColor="#80FF80"
ForeColor="#336666" Height="1px" />
<TitleStyle BackColor="Green" BorderColor="#3366CC"
BorderWidth="1px" Font-Bold="True" Font-Size="10pt"
ForeColor="White" Height="25px" /> </asp:Calendar>
Теперь на всех страницах, где установлена тема Summer, календарь будет выглядеть так:
У описания шкурки может быть описан атрибут SkinId. Скин с установленным атрибутом SkinID называется именованным скином. Этот атрибут при описании каждого типа элемента управления должен быть уникальным. Скин применяется к тем элементам, у которых значение свойства SkinId совпадает со SkinId описания:
<asp:Label Runat="server" SkinId="June" ForeColor="#Teal" Font-Names="Verdana"
Font-Size="X-Small" />
При этом, если у элемента не определен SkinId, применяется скин, в котором SkinId тоже отсутствует (скин по умолчанию). Этот скин для каждого класса может быть описан только один раз.
Задание на работу
Рассмотреть возможности технологии ASP.NET для оформления приложения
Выполнить учебный проект (см. файл «к заданию 5.ppt»)
На основе предыдущего задания разработать дизайн оформления сайта приложения. Использовать возможности MasterPage, Theme и skin.
СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ
Kennard, James. Mastering Joomla! 1.5 Extension and Framework Development. – BIRMINGHAM: Published by Packt Publishing Ltd., 2007 – ISBN : 1847192823
LeBlanc, Joseph. Learning Joomla! 1.5 Extension Development. – BIRMINGHAM: Published by Packt Publishing Ltd., 2007 – ISBN-10: 1847196209
Колисниченко, Д.Н. Joomla 1.5. Руководство пользователя / Д.Н. Колисниченко. – М. : Диалект, 2009. – 210 с. – ISBN 978-5-8459-1509-2
Граф, Хаген. Создание web-сайтов с помощью Joomla 1.5!. – Хаген Граф . – М. : Изд. Дом Вильямс, 2008. – 294 с. – ISBN 978-5-8459-1506-1
Томсон, Лаура. Разработка Web-приложений на PHP и MySQL : пер. с англ. / Лаура Томсон, Люк Веллинг. – М. : Диасофт, 2002. – 672 с. - ISBN 978-5-8459-0862-9
Ратшиллер, Т. PHP4: Разработка web-приложений. Библиотека программиста. – Т. Ратшиллер, Т. Геркен. – СПб.: Питер, 2001. – 384с.:ил. - ISBN 5-318-00007-Х
Навчальне видання