Поддержка сайта

Высокие позиции в поисковой системе, на прямую зависят от развития вашего сайта.

Продвижение сайтов

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

Создание сайтов

Мы делаем сайты быстро, недорого и профессионально. От работы с нами, у вас останутся только положительные эмоции.

Изменение страниц ASP

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

Построение dept.asp

1. Откройте проект InterDev и создайте страницу ASP с именем dept.asp.

2. Был сформирован файл template.asp как основа для всех новых страниц. Откройте этот шаблон и скопируйте его содержимое в dept.asp.

3. Теперь нужно внести в dept. asp навигационные кнопки. Откройте включенный файл start, asp, содержащий код генерации этих кнопок. Требуется связать изображения со страницей dept.asp:

 Изменение страниц ASP

Необходимо проверить, соответствуют ли идентификаторы в базе данных значениям, пересылаемым dept.asp, поскольку применение поля IDENTITY может исказить имеющиеся значения.

4. Добавьте в список стилей style.ess новый класс medheading. Установите тип шрифта Tahoma, размер в 12 пунктов и начертание Bold (700).

5. Сохраните внесенные в start.asp изменения и удостоверьтесь в том, что файл dept.asp открыт. Первое, что мы хотим сделать, это показать имя отдела в верхней части страницы. Добавьте в dept.asp:

 Изменение страниц ASP

6. Затем нужно вывести список подотделов нужного отдела. Воспользуйтесь методом , GetChildDepartments.

Предлагаемый код делит список отделов на два столбца:

 Изменение страниц ASP

‘ Представляем дочерний отдел ссылкой, обеспечивающей вызов

‘ обратно в страницу

Response.Write "<td class=heading>"

Response.Write "<lixa href="""

Response.Write Request("scriptname") & "?id=" &

Children("DepartmentID") Response.Write """>" & children("Name") & "</a>" Response.Write "</td>"

‘ Следующий Children.MoveNext num = num +1

Loop

Response.Write "</trx/table>" Response.Write "<brxbr>"

End If

Children.Close

Set Children = Nothing

End if

Описание работы

В вызове dept.asp указывается значение идентификатора, ссылающееся на идентификатор отдела в таблице Departments:

 Изменение страниц ASP

Добавляя код в start.asp, помните, что идентификатор отдела передается через строку запроса к странице. В запросе к GetDepartment мы пересылаем идентификатор, выявленный с помощью объекта Request:

 Изменение страниц ASP

Имея набор записей с интересующим нас отделом, отправляем идентификатор этого отдела через GetChildDepartments, запрашивающий у RunQuery набор записей отделов по нужному нам DepartmentlDP:

Set Children = Visit.Catalog.GetChildDepartments(Department("DepartmentlD"))

Загрузив сведения о дочерних отделах, выполняем цикл по всем элементам списка. Для построения списка с двумя столбцами увеличиваем значение num при выводе каждого элемента и проверяем num на четность/нечетность функцией Mod:

 Изменение страниц ASP

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

Таким образом, мы получаем:

 Изменение страниц ASP

Щелкая мышью на названиях отделов, вы поймете принцип действия метода "повторного использования", примененного в dept.asp: достаточно создать и "запустить" данную страницу, и она будет работать с любым отделом на сайте. В следующей главе мы добавим в базу данных сведения о товарах и немного изменим код dept.asp, что позволит выводить данные о товарах любого отдела системы.

Реализованный нами метод "погружения" в дерево отделов не удачен. Попав через Espresso Machines в отдел Piston, мы оказываемся в тупике: нет пути продвижения назад по дереву отделов.

Читайте так же:
Not found

Нам доверяют

Интернет магазин