2011г.
Количество страниц: 432
В книге
Сайт на AJAX под ключ. Готовое решение для интернет- магазина. Петин (+CD) Описана разработка высокоинтерактивных Web-сайтов, основанных на передовой технологии AJAX, работающих без перезагрузки страниц и обладающих функциональностью настольных приложений. Обучение построено на сквозном примере создания с нуля готового решения: интернет-магазина цифровых товаров, а также системы его администрирования. При этом использован язык PHP, фреймворки xajax и jQuery, шаблонизатор Smarty и другие популярные технологии динамического формирования контента. Разработанный сайт создан полностью по технологии
AJAX и готов к размещению в сети. Прилагаемый компакт-диск содержит исходные коды описанного в книге интернет-магазина, а также бесплатные программы для создания и отладки сайтов на локальной машине.
Оглавление книги
Сайт на AJAX под ключ. Готовое решение для интернет- магазина. Петин (+CD)
Оглавление Введение 1
Для кого и о чем эта книга 1
Структура книги 2
Благодарности 3
ЧАСТЬ I. ИНСТРУМЕНТЫ И ТЕХНОЛОГИИ WEB-ПРОГРАММИРОВАНИЯ
5
Глава 1. Инструменты создания Web-страниц
7
1.1. HTML и CSS 7
1.1.1. Теговая модель 7
1.1.2. Элементы HTML 8
1.1.3. Классификация элементов HTML 8
1.1.4. Атрибуты тегов 9
1.1.5. Листы стилей CSS 9
1.1.5.1. Определение встроенного стиля 9
1.1.5.2. Формирование листа стилей 9
1.1.5.3. Внутренние листы стилей 10
1.1.5.4. Внешние листы стилей 10
1.2. Язык сценариев JavaScript 11
1.2.1. Встраивание сценария JavaScript в документ 11
1.2.2. Обработка событий в JavaScript 12
1.3. Динамический HTML 13
1.4. PHP — серверный язык программирования 16
1.5. СУБД MySQL 17
1.5.1. Типы данных 17
1.5.1.1. Целые числа 17
1.5.1.2. Дробные числа 18
1.5.1.3. Строки 18
1.5.1.4. Бинарные данные 19
1.5.1.5. Дата и время 19
1.5.2. Таблицы MySQL 20
1.5.3. Структурированный язык запросов SQL 20
1.5.4. Функции PHP для работы с MySQL 22
1.5.4.1. mysql_connect 22
1.5.4.2. mysql_close 22
1.5.4.3. mysql_select_db 22
1.5.4.4. mysql_query 23
1.5.4.5. mysql_fetch_row 23
1.5.4.6. mysql_fetch_assoc 23
1.5.4.7. mysql_fetch_array 24
1.5.4.8. mysql_result 24
1.5.4.9. mysql_num_rows 24
1.5.4.10. mysql_insert_id 24
1.5.5. Работа с phpMyAdmin 25
1.5.5.1. Запуск phpMyAdmin из Денвера 25
1.5.5.2. Создание базы данных 26
1.5.5.3. Создание таблицы базы данных 26
1.5.5.4. Заполнение таблиц базы данных 28
1.5.5.5. Экспорт-импорт баз данных 29
1.6. Программная оболочка Денвер 31
1.6.1. Что такое Денвер? 31
1.6.2. Получение дистрибутива и расширений Денвера 32
1.6.3. Установка Денвера 35
1.6.4. Размещаем сайт на локальном компьютере 39
Глава 2. Технология AJAX
44
2.1. Что такое AJAX 44
2.1.1. Обмен данными между клиентом и сервером 44
2.1.2. Свойства и методы объекта XMLHttpRequest 45
2.1.3. Запрос к серверу и обработка ответа 46
2.1.4. Варианты ответа от сервера 47
2.2. Фреймворк xajax 48
2.2.1. Как работает xajax 48
2.2.2. Возможности xajax 48
2.2.3. Подключение xajax 49
2.2.4. Методы объекта xajaxResponse 51
2.2.4.1. Метод assign 51
2.2.4.2. Метод append 52
2.2.4.3. Метод prepend 52
2.2.4.4. Метод replace 52
2.2.4.5. Метод remove 53
2.2.4.6. Метод create 53
2.2.4.7. Метод insert 53
2.2.4.8. Метод insertAfter 53
2.2.4.9. Метод clear 54
2.2.4.10. Метод createInput 54
2.2.4.11. Метод insertInput 54
2.2.4.12. Метод insertInputAfter 54
2.2.4.13. Метод removeHandler 55
2.2.4.14. Метод includeScript 55
2.2.4.15. Метод script 55
2.2.4.16. Метод addEvent 56
2.2.4.17. Метод call 56
2.2.4.18. Метод alert 56
2.2.4.19. Метод redirect 56
2.2.5. Сайт — тренировочный стенд для изучения xajax 57
2.2.6. Глобальные переменные xajax 61
2.2.6.1. Глобальные константы 61
2.2.6.2. Методы объекта xajax 61
2.3. Примеры использования xajax 65
2.3.1. Форма регистрации с проверкой правильности заполнения полей "на лету" 65
2.3.2. Динамически подгружаемые select-элементы 70
2.3.3. Многоуровневый неоднородный каталог 79
2.3.4. Динамическое управление числом полей формы 84
2.4. Фреймворк jQuery 92
2.4.1. Возможности jQuery 92
2.4.2. Использование jQuery 93
2.4.2.1. Функция $ 93
2.4.2.2. Селекторы 94
2.4.2.3. Методы jQuery 97
2.4.2.4. Обработка событий в jQuery 98
2.4.2.5. Эффекты в jQuery 100
2.4.3. PHP и jQuery 101
2.4.3.1. Динамическая подгрузка jQuery и плагина Carousel 101
2.4.3.2. Совместное использование jQuery UI, виджетов Tabs и Accordion 104
2.4.3.3. Галерея товаров с формой заказа 113
2.5. Xajax и Smarty 127
2.5.1. Что такое Smarty 127
2.5.2. Установка Smarty 128
2.5.3. Синтаксис шаблонов Smarty 130
2.5.4. Методы класса Smarty 131
2.5.4.1. Метод assign 131
2.5.4.2. Метод display 132
2.5.4.3. Метод fetch 132
2.5.5. Использование xajax и Smarty 132
ЧАСТЬ II. ПРОЕКТ ИНТЕРНЕТ-МАГАЗИНА
139
Глава 3. Проектирование сайта
141
3.1. Структура и функции сайта 141
3.1.1. Необходимый функционал сайта (интернет-магазина цифровых товаров) 141
3.1.2. Структура корневого каталога сайта 143
3.1.3. Особенности создания сайта без перезагрузки страницы 143
3.1.4. Проектирование базы данных 145
3.2. Типы пользователей. Вход в профиль 155
3.2.1. Типы пользователей 155
3.2.2. Вход в профиль 156
3.2.3. Использование переменных SESSION и cookies 160
3.2.3.1. Переменные session 161
3.2.3.2. Переменные cookie 162
3.2.4. Логика вызова программ при выборе пункта меню 164
3.2.5. Набор подпрограмм модулей для разных пользователей 171
3.3. Регистрация 180
3.3.1. "Теневая" регистрация незарегистрированных пользователей 180
3.3.2. Регистрация пользователей 182
3.4. Оплата SMS через сервис a1agregator 190
3.5. Блок "Товары" 195
3.5.1. Список категорий товаров неограниченной вложенности 195
3.5.2. Вывод списка товаров постранично 199
3.5.3. Динамический "ресайзер" картинок 204
3.5.4. Программирование навигатора страниц 206
3.5.5. Вывод пути к категории товаров 208
3.5.6. Поиск товаров и вывод постранично 210
3.5.7. Просмотр товара подробно 217
3.5.8. Специальные акции (товары по акции) 220
3.6. Корзина 222
3.6.1. Добавление товаров в корзину 222
3.6.2. Корзина подробно 227
3.6.3. Редактирование корзины 230
3.6.3.1. Изменение количества товара 230
3.6.3.2. Удаление товара из корзины 231
3.6.4. Оформление заказа 234
3.7. Оплата заказа 237
3.7.1. Оплата Webmoney 237
3.7.2. Организация приема платежей Webmoney 242
3.7.3. Платежный интегратор ONPAY 245
3.7.3.1. Варианты приема электронных платежей 246
3.7.3.2. Настройка параметров магазина 247
3.7.3.3. ONPAY Merchant API 249
3.7.4. Подключение приема платежей в автоматическом режиме через ONPAY Merchant API 257
3.8. Блок "Заказы" 263
3.8.1. Просмотр заказов пользователя 263
3.8.2. Поиск заказов пользователя по фильтру 267
3.8.3. Редактирование заказа 273
3.8.4. Просмотр заказа 281
3.8.5. Удаление заказа 284
3.8.6. Оплата заказа. Формирование ссылок для скачивания 285
3.8.7. Регулирование доступа к файлам скачивания с использованием файла .htaccess 287
3.8.8. Получение товара 288
3.9. Блок мгновенных сообщений на сайте 292
3.9.1. Вывод мгновенных сообщений 292
3.9.2. Переход по ссылке мгновенных сообщений 294
3.9.3. Формирование мгновенных сообщений 296
3.10. Переписка на сайте (внутренняя почта) 299
3.10.1. Просмотр сообщений пользователя списком 299
3.10.2. Просмотр сообщения 306
3.10.3. Удаление сообщения 308
3.10.4. Создание сообщения 310
Глава 4. Программирование панели администратора
315
4.1. Вход администратора 315
4.2. Управление товарами 316
4.2.1. Добавление нового товара 317
4.2.2. Редактирование товара 332
4.2.3. Удаление товара 339
4.2.4. Скрытие товара, открытие товара 340
4.3. Управление категориями товаров 343
4.3.1. Добавление категорий товаров 347
4.3.2. Редактирование категорий товаров 350
4.3.3. Удаление категорий товаров 353
4.4. Управление заказами 356
4.4.1. Просмотр заказов пользователей 356
4.4.2. Просмотр заказов пользователей по фильтру 360
4.4.3. Просмотр заказа 367
4.4.4. Редактирование заказа 370
4.4.5. Удаление заказа 376
4.4.6. Оплата заказа администратором 377
4.5. Операции с профилями пользователей 379
4.5.1. Просмотр всех пользователей 379
4.5.2. Просмотр пользователей по фильтру 383
4.5.3. Просмотр профиля пользователя 389
4.5.4. Редактирование профиля пользователя 391
4.5.5. Блокировка пользователя 396
4.6. Обратная связь 397
4.6.1. Обратная связь по e-mail 397
4.6.2. Обратная связь по ICQ 400
Заключение 404
ПРИЛОЖЕНИЯ 405
Приложение 1. Свойства стилей CSS 407
Приложение 2. Описание компакт-диска 421
Предметный указатель 423
IV Оглавление VII Оглавление