PHP


08
04.2013

Дорабатываем CGridView под свои задачи

Спонсор поста: EximusCommerce — платформа для создания интернет-магазинов на Yii framework.

Продолжаем знакомиться с виджетами в Yii framework. Сегодня рассмотрим CGridView. CGridView — это стандартный виджет, располагается в /framework/zii/widgets/grid/CGridView.php. Виджет служит, для отображения данных в табличной форме. Поддерживается сортировка по атрибутам, постраничная навигация и поиск. Сортировка и постраничная навигация могут осуществляться, как с помощью AJAX’а, так и без него. Если, у пользователя отключен javascript, то сортировка и переключение страниц будет происходить обычным образом, без AJAX.

Минимальный код необходимы для вызова виджета:

$dataProvider=new CActiveDataProvider('Model');

$this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider'=>$dataProvider,
));

Под катом, мы рассмотрим следующие пункты:

1. Добавление календаря в фильтры (jquery datepicker).
2. Выпадающие списки в фильтрах.
3. Изменение дизайна.

Все действия будут производиться на немного измененном демо-блоге, который можно скачать вместе с Yii. В конце статьи будет архив с готовым примером.
Читать далее →


25
11.2012

Пример работы с CListView в Yii

CListView — это стандартный виджет для отображения записей. Поддерживает сортировку по определенным атрибутам и постраничную навигацию. Виджет расположен в /framework/zii/widgets/CListView.php. Минимальный код необходимый для вызова виджета:

$dataProvider = new CActiveDataProvider('Model');

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'_testimonial', 
    'sortableAttributes'=>array(
        'rating',
        'create_time',
    ),
));

Рассмотрим, как можно немного изменить виджет для своих целей. Но, для начала разберем, какие параметры передаются в CListView в примере выше.
Читать далее →


15
02.2010

Yii, Модуль SRBAC часть 2. Пишем регистрацию.

После того как мы подключили и настроили модуль srbac нам необходимо сделать регистрацию пользователей на нашем сайте. Этим сейчас и займемся.

Оговорюсь сразу, что для выполнения этого урока требуется yii версии 1.1.1 и дополнение email.

Почему взята именно эта, а не стабильная версия 1.1.0, потому что в новой версии появился очень интересный виджет «CActiveForm» позволяющий проводить валидацию форм на стороне клиента.
Читать далее →


13
01.2010

Регер аккаунтов 100zakladok.ru

Регер аккаунтовЧто-то давно мы ничего не писали в блог, пора бы это исправить =) Как вы поняли из названия, этот пост посвящен созданию аккаунтов в сервисе социальных закладок — 100zakladok.ru. Регистрация будет осуществляться с ручным вводом каптчи. Логин генерируется случайным образом и после регистрации записывается в файл.

Читать далее →


22
11.2009

Пишем спамер WordPress блогов

Спам
Ни для кого не секрет, что спам комментарии в блогах приносят неплохие результаты, особенно если блог dofollow. Есть куча софта и сервисов, готовых проспамить вашу ссылку. Но мы, напишем свое решение. Для работы нам понадобятся PHP и cURL.

Прежде, чем начинать кого-нибудь спамить, нужно разобраться, как работает форма комментариев. Вот так в WordPress блоге, выглядит обычная форма для комментариев:
Читать далее →


09
10.2009

Создаем индикатор сложности пароля

password
Сегодня, я покажу как можно сделать индикатор сложности пароля. Всего у нас будет 4 степени сложности пароля: очень слабый, слабый, простой и надежный. Каждой степени сложности будет соответствовать свой цвет.

Надежным мы будем считать пароль, который будет состоять не меньше, чем из 6-ти символов и в нем будет содержаться минимум 1 цифра, спецсимвол, буква в нижнем регистре и буква в верхнем регистре. Для работы нам понадобятся PHP и jQuery.

Читать далее →


03
09.2009

Русско-английский переводчик, с помощью Google AJAX Language API

google api

Google предоставляет разработчикам массу возможностей для работы со своими сервисами. Как вы наверное поняли из названия поста, я буду использовать Google AJAX API. Что же это такое и для чего это нужно можно прочитать здесь и здесь. Для работы нам понадобятся: php и jQuery.

Читать далее →


19
08.2009

10 регулярных выражений для web-разработчиков

regex tools
Регулярные выражения, очень полезная штука для разработчиков. С помощью них можно найти одинаковые слова в тексте, проверить введенные данные и еще много полезных вещей. В этом посте я собрал 10 регулярных выражений, которые должны быть под рукой у любого web-разработчика.

Читать далее →


01
08.2009

Система оценок на jQuery и PHP

Сегодня я покажу, как с помощью jQuery и php можно созадать простенькую систему оценок, как на oboobs.ru. Только оценивать мы будем не сиськи, а статьи. =) Всего у нас будет 2 файла, не считая jQuery. Для начала создадим таблицу articles, где у нас будут храниться статьи и оценки.

Сразу скажу, данные о проголосовавшем пользователе не будут никуда записываться, т. е. один человек может голосовать много раз. Для более серьезной системы оценок вам понадобится отдельная таблица, в которой будут храниться данные проголосовавшего пользователя.

Таблица articles.

CREATE TABLE `articles` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(100) default NULL,
  `topic` text,
  `rating` int(11) default NULL,
  PRIMARY KEY  (`id`)
) 

В title будет хранится заголовок статьи, в topic текст статьи, в rating рейтинг статьи.

Читать далее →


16
07.2009

Работа с JSON в PHP и jQuery

JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.

Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта ECMA-262 1999 года), формат считается языконезависимым и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON.

Как-то при разработке одного сайта, мне понадобилось получать ответ от php-скрипта без перезагрузки страницы. Меня не интересовал вывод результата работы, например в див, что реализуется довольно таки просто. По этому мне пришлось искать решение и оно было найдено в использование json. Сейчас мы рассмотрим небольшой пример работы с ним.
Читать далее →