Прежде всего, поздравляю всех с наступившим Новым Годом!
И этот год хочу начать с нового цикла статей об использовании PHP фреймворка под названием Yii.
В качестве примера я решил сделать игровой сайт, точнее сайт под партнерскую программу GameBoss. Для тех, кто первый раз слышит о GameBoss — это интернет магазин казуальных игр. Он предоставляет информацию об играх в XML формате, т.е. проблем с контентом у нас не будет 😉
Примечание. Хочу сразу предупредить. С Yii я начал работать совсем недавно. И, честно говоря, это можно считать первый сайт, который я делаю с использованием этого фреймворка. Поэтому, возможно, некоторые вещи будут сделаны не лучшим образом, и я буду рад любым замечаниям.
Чтобы вы лучше представляли конечный результат, я нарисовал несколько эскизов.
Главная страница сайта
Страница с описанием конкретной игры.
Просмотр полноразмерных скриншотов будет с использованием Lightbox
Естественно, будут страницы архивов и жанров, для них эскизы я не рисовал, т.к. они практически полностью совпадают с главной страницей.
И, конечно, будет панель управления.
Рассмотрим требования к ней.
1) Импорт игр. Данные мы получаем от GameBoss в виде XML фида, т.е. нам необходимо их разобрать и сохранить в базе.
2) Редактирование и удаление игр. Возможность создания игр по-идее не нужна, т.к. все необходимые данные мы получим из XML фида. Кроме того, фид содержит ссылки на игры с партнерским id и создавать их вручную не очень удобно.
Со скриншотами ситуация немного сложнее. Фид содержит ссылки, на скриншоты, размещенные на сервере GameBoss, поэтому редактировать и удалять их мы не можем. В принципе, можно было бы добавить возможность закачивать свои собственные скриншоты, но чтобы не усложнять код я пока решил от неё отказаться. К тому же я совсем не уверен, что в реальной жизни кто-то будет этим заниматься. Изменять описания игр – другое дело.
3) Редактирование, удаление и создание жанров. Тут всё просто. В XML фиде партнерки жанры игр указаны в закодированной форме. Поэтому перед импортом необходимо вручную создать все жанры.
4) Редактирование данных администратора. К этим данным относятся: адрес XML фида (включает партнерский id), логин, пароль.
Возможность создания нескольких пользователей, на мой взгляд, смысла не имеет. Т.к. в этом случае может получиться, что часть игр будет импортирована с одним партнерским id, а часть – с другим, со всеми вытекающими отсюда последствиями 🙂
Хотя, если кому-то понадобиться – не проблема. В дистрибутиве Yii есть скрипт, который генерирует код для CRUD операций. Т.е. писать код для создания новых пользователей не нужно, мы просто отключим его.
Думаю, на этом с постановкой задачи можно заканчивать. Если есть вопросы или предложения, пишите.
В следующем выпуске я планирую рассказать об установке фреймворка и создании базы данных для нашего сайта.
Все разделы цикла.
- Yii PHP framework: создаём игровой сайт. Часть 1. Постановка задачи.
- Yii PHP framework: создаём игровой сайт. Часть 2. База данных и установка фреймворка.
- Yii PHP framework: создаём игровой сайт. Часть 3. Аутентификация.
- Yii PHP framework: создаём игровой сайт. Часть 4. Работа с жанрами игр.
- Yii PHP framework: создаём игровой сайт. Часть 5. Импорт игр.
- Yii PHP framework: создаём игровой сайт. Часть 6. Формируем страницы игр и жанров.
- Yii PHP framework: создаём игровой сайт. Часть 7. Работа с JavaScript и страницы игр.
- Yii PHP framework: создаём игровой сайт. Часть 8. Создаём виджеты.
- Yii PHP framework: создаём игровой сайт. Часть 9. Поиск ошибок.
- Yii PHP framework: создаём игровой сайт. Часть 10. Панель управления.
- Yii PHP framework: создаём игровой сайт. Часть 11. Человекопонятные URL.
- Архив с исходниками
Интересно почитать
Дизайн сайтов. Тенденции веб-дизайна
Качественные услуги по восстановлению бухучета, адекватные цены