Yii PHP framework: создаём игровой сайт. Часть 7. Работа с JavaScript и страницы игр.

Сегодня мы разберем каким образом реализована поддержка JS библиотек в фреймворке Yii и создадим страницы с подробным описанием игр.
Прежде всего, пару слов о том, как будут использоваться JS библиотеки в данном примере. Для каждой игры есть несколько заранее подготовленных скриншотов, которые нам нужно показать на страницы с подробным описанием игры. Сами картинки находятся на сайте партнерки, а в нашей базе данных сохранены ссылки на них, но это не принципиально. Для нас главное правильно создать теги img.
Разместить на странице игры полноразмерные скриншоты не получится, т.к. они слишком большие, поэтому мы покажем их миниатюры. А при клике на любую из миниатюр будет открываться галерея с полноразмерными скриншотами. Для создания галереи используем библиотеку jQuery и плагин jQuery Lightbox.
jQuery идет в комплекте с фреймворком, а Lightbox нужно скачать.
Теперь разберём принцип подключения.
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментарии (5) »
Yii PHP framework: создаём игровой сайт. Часть 6. Формируем страницы игр и жанров.

Приветствую всех! Сегодня мы продолжим разработку игрового сайта на основе фреймворка Yii.
Напомню, на чём мы остановились в прошлый раз. У нас создан контроллер для работы с играми GamesController, модель Games и стандартные представления (находятся в папке views/games). Кроме того, мы написали метод импорта игр actionImport.
Раз импортировать игры в базу мы можем, напишем методы для их отображения на сайте. Всего нам нужно создать три типа страниц:
1) с общим перечнем игр (главная);
2) с перечнем игр определенного жанра;
3) с выбранной игрой.
Первые два типа страниц мы реализуем с помощью одного метода – actionList. Дело в том, что страница с играми определенного жанра ничем не отличается от страницы с общим перечнем игр. Просто при поиске игр в базе мы используем один дополнительный параметр – код жанра.
Теперь взгляните на сам метод.
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментариев нет »
Yii PHP framework: создаём игровой сайт. Часть 5. Импорт игр.

Сегодня мы продолжим создание игрового сайта с помощью Yii PHP framework. Наши задачи: заполнить базу данных информацией об играх (её мы берем из партнерки GameBoss) и, заодно, немного разобраться с библиотекой Yii для работы с базой данных.
Алгоритм импорта довольно прост.
1) Читаем из базы список жанров. Они должны быть созданы заранее, иначе мы не сможем правильно создать записи в таблице ygs_games_types.
2) Получаем список игр, которые уже сохранены в БД (нам нужны их id).
3) Получаем данные от GameBoss. Они приходят в xml формате.
4) Для каждой игры, полученной от GameBoss, проверяем, существует ли она в базе, и, если нет, сохраняем.
5) Создаём записи в связанных таблицах ygs_games_types и ygs_screenshots.
6) Показываем страницу с кнопкой «Импрорт».
Прежде чем писать метод импорта, создадим модель, контроллер и представления для работы с играми.
>> yiic shell
model Games ygs_games
crud Games
Теперь можно добавить метод actionImport в контроллер GamesController.
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментарии (7) »
Yii PHP framework: создаём игровой сайт. Часть 4. Работа с жанрами игр.

Сегодня мы продолжим разработку игрового сайта и напишем код необходимый для создания, удаления и изменения жанров.
Но вначале два небольших объявления.
1) Я как-то упустил, что есть русский перевод документации Yii, причём очень качественный.
2) Я решил выложить весь исходный код этого сайта, думаю так будет проще экспериментировать. Все-таки копировать куски кода из блога неудобно.
Инструкция по установке.
1) В архиве находятся: папка public_html (в ней только исходные файлы сайта, без самого фреймворка), файл dump.sql (с дампом базы) и файл с инструкциями.
2) Распакуйте папку public_html так, чтобы DOCUMENT_ROOT вашего сервера указывал на ее содержимое (при желании, саму папку можно переименовать).
3) Откройте файл index.php и укажите путь к фреймворку Yii (строка 4).
4) Откройте файл \protected\config\main.php и укажите параметры подключения к базе данных (строки 45-47).
5) Импортируйте базу данных (файл dump.sql), например, с помощью phpMyAdmin.
6) Можно работать
7) Адрес входа в админку http://sitename.local/index.php?r=dashboard
Сразу хочу обратить ваше внимание, что это не окончательная версия сайта и, скорее всего, в ней есть баги и недоработки. Поэтому буду рад, если вы о них мне сообщите
Возвращаемся к жанрам.
Открываем окно консоли и выполняем команды
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментарии (7) »
Yii PHP framework: создаём игровой сайт. Часть 3. Аутентификация.

Приветствую всех! Эта статья – продолжение цикла о создании игрового сайта с использованием PHP фреймворка Yii.
Сегодня мы займемся ограничением доступа к административной части сайта. У вас может возникнуть вполне закономерный вопрос: «Почему именно ею? Ведь в предыдущих частях мы только создали базу данных, на сайте нет ни одной рабочей страницы.»
Всё правильно, но Yii имеет некоторые особенности. Код, который генерирует консольная утилита при создании контроллеров, автоматически использует встроенную библиотеку авторизации. Кроме того, в стандартном приложении, которое мы в прошлый раз создали командой yiic webapp есть все необходимые компоненты для аутентификации и авторизации пользователей.
От нас требуется только связать этот код с нашей базой данных. Т.е. кода нам нужно написать совсем немного.
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментарии (24) »
Yii PHP framework: создаём игровой сайт. Часть 2. База данных и установка фреймворка.

Как и обещал, продолжаю цикл статей о создании сайта на базе фреймворка Yii. Сегодня мы поговорим об архитектуре базы данных и разберем установку фреймворка.
Начнем с базы данных.
Как вы, наверное, помните наш сайт будет использовать данные из игровой партнерки GameBoss.ru. Эти данные можно получить несколькими способами, но в нашем случае удобнее всего XML фид.
Естественно, просто скопировать данные из фида не получится (позже мы напишем специальный метод для этой цели), а сейчас нам нужно разработать структуру базы.
Получить XML фид можно по адресу
-
http://gameboss.ru/x2.php?partner=38370&limit=1000&genre=127&short=1&full=1&image=1
где partner=ваш_партнерский_id (его вы получаете при регистрации в партнерке)
Взгляните на скриншот фида.
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментарии (11) »
Yii PHP framework: создаём игровой сайт. Часть 1. Постановка задачи.

Прежде всего, поздравляю всех с наступившим Новым Годом!
И этот год хочу начать с нового цикла статей об использовании PHP фреймворка под названием Yii.
В качестве примера я решил сделать игровой сайт, точнее сайт под партнерскую программу GameBoss. Для тех, кто первый раз слышит о GameBoss – это интернет магазин казуальных игр. Он предоставляет информацию об играх в XML формате, т.е. проблем с контентом у нас не будет
Примечание. Хочу сразу предупредить. С Yii я начал работать совсем недавно. И, честно говоря, это можно считать первый сайт, который я делаю с использованием этого фреймворка. Поэтому, возможно, некоторые вещи будут сделаны не лучшим образом, и я буду рад любым замечаниям.
Чтобы вы лучше представляли конечный результат, я нарисовал несколько эскизов.
Читать дальше »
Опубликовано в PHP, Web разработка, Yii | Комментарии (22) »
С Новым Годом!

Новый Год – уникальный праздник. С одной стороны – это просто красивая традиция, но в тоже время она помогает людям оставить проблемы в прошлом и дарит надежду, что в новом году все будет лучше.
Мне недавно один знакомый довольно долго объяснял, что Новый Год праздновать 1 января не правильно. Т.к. «на самом деле» новый год начинается в день весеннего равноденствия зимнего солнцестояния (когда день начинает удлиняться). Но он меня не убедил
Дело ведь не в дате, а в праздничном настроении!
Именно этого настроения я и хочу пожелать всем в Новом Году!
И еще пожелаю Вам – умения вовремя изменять свои планы. Может быть звучит немного странно, но пожелание взято из личного опыта
Я люблю строить планы
, но многие вещи нельзя тщательно спланировать наперед. Всегда появляются новые варианты или оказывается, что при планировании что-то было упущено. Например, если я напишу: «Хочу удвоить количество подписчиков этого блога». Будет ли это хорошей задачей? Может быть мне придется публиковать вдвое больше материала? А может эти подписчики появятся сами собой, просто за счет увеличение пользователей Интернета?
Поэтому я решил, что на этот год строить планов не буду. В каком направлении развиваться я знаю, просто постараюсь приложить максимум усилий!
Удачи Вам! С Новым Годом!
Постовой
Ваша налоговая отчетность в электронном виде будет подготовлена и передана вовремя и без проблем
Опубликовано в Разное | Комментарии (5) »
29 плагинов для WordPress, которые я использую

Начал писать этот пост и сразу понял, что мне сложно даже примерно вспомнить сколько хорошего и плохого я читал о движке WordPress.
Причем все отзывы (и положительные, и отрицательны) вполне обоснованы и я с ними не собираюсь спорить, тем более, что от этого ничего не измениться
На сегодняшний день WordPress остается наиболее популярной платформой для блоггинга.
И, на мой взгляд, причин этот популярности две.
1) Постоянная работа разработчиков над движком. Конечно, не все нововведения мне нравятся (например, ревизии), но вцелом WP развивается в правильном направлении.
2) Огромное количество сторонних плагинов. С одной стороны, это большой плюс, т.к. вы можете получить нужный функционал не написав ни строчки кода. Но с другой стороны, возникают неизбежные проблемы.
Т.к. плагины может писать кто угодно, никаких гарантий качества вы не получите. Кроме того, за последние несколько лет накопилось множество заброшенных плагинов, т.е. авторы их больше не поддерживают и не тестируют на совместимость с новыми версиями движка.
В результате на поиски уходит приличное количество времени. Хотя, это все-равно быстрее чем разработка и тестирование своего плагина.
Но, конечно, этот пост я пишу не для того, чтобы рассказать о проблемах с плагинами
Просто хочу поделиться списком плагинов, которыми сам пользуюсь. Возможно, вы найдете для себя что-то новое, а может быть расскажете мне о каком-нибудь хорошем плагине
Примечание. Раньше я публиковал подобный список 17 Wordpress плагинов, которые у меня активированы, но с тех пор прошел почти год и за это время многое изменилось. Какие-то плагины стали не нужны (их функционал появился в движке), какие-то я заменил.
Итак, новый список.
Читать дальше »
Опубликовано в WordPress | Комментарии (11) »
JavaScript без задержек

Название получилось довольно громкое
На самом деле эта статья не об устранении задержек, а скорее об изменении порядка загрузки и выполнения JS скриптов. Но с точки зрения посетителя некоторые задержки действительно исчезнут, точнее они будут там где он ожидает их увидеть
Я как-то путано рассказываю
, на самом деле все довольно просто.
Недавно на почтовом сервере ukr.net (в web интерфейсе) я заметил довольно неприятный баг. Загружается web интерфейс, я кликаю по письму и вместо сообщения «Загрузка данных…» вижу «Для просмотра письма включите поддержку JavaScript в браузере и перезагрузите страницу».
Естественно, я точно знаю, что JavaScript у меня включен и перезагружать ничего не стал. Через две-три секунды сообщение исчезло и на его месте появилось письмо.
Работу скриптов ukr.net я анализировать не стал, но в общем-то о причине можно догадаться. Скорее всего, возникла задержка при загрузке JS файла со скриптом, который должен изменять «Включите JS…» на «Загрузка данных..».
Раньше я этот момент не замечал, но у меня нет ограничений по скорости на UA-IX трафик, да и сам ukr.net стабильно работает.
Тем не менее, проблема со скоростью загрузки существует и касается всех, а не только крупных порталов.
Рассмотрим реальную ситуацию.
Читать дальше »
Опубликовано в Ajax, JavaScript, Web разработка | Комментарии (29) »






