Вообщем пользуйтесь кому надо, правда пока не готов функционал кнопок, для перехода на редактирование\удаление и т.д., но я упорно тружусь над этим. Если кто-то заимеет желание можно меня форкнуть, вместе что-то решим - писать в скайп (в подписи).
Инструкция:
Скачиваем архив.
Распаковываем в папку /modules/grid/сюда
Открываем bootstrap.php добавляем модуль
'grid' => MODPATH.'grid'
Все, теперь можно использовать!
Скриншот:

За всей этой красотой скрывается 5 строк кода! :)
$array = DB::query(Database::SELECT, 'SELECT id,name FROM `table`')->execute()->as_array();
$grid = new Grid;
$grid->title("Id")->field("id");
$grid->title("Name")->field("name");
$grid->dataset($array);
echo $grid->render(array('pagination' => true, 'start_page_limit' => 5, 'style' => 'bordered', 'filter' => true));
title - это заголовок таблицы
field - это поле к которому оно относится
метод dataset устанавливает данные
render выводит, и настраивает вывод:
включать ли пагинацию, сколько при старте будет позиций, стиль: пока есть два, это "bordered" и "zebra", и будет ли фильтр.
фильтр фильтрует данные в таблице по мере ввода, еще и с анимацией! сделано на jquery, так что попрошу подключить :)
по умолчанию все поля можно сортировать (DESC,ASC) по клику на заголовок таблицы, но это можно отключить так:
$grid->title("Id")->field("id")->assort(false);
Сейчас делаю кнопки, короче:
$grid->column(array("type" => "button", "action" => "/controller/method/:id", "text" => "Edit user", "title" => "Edit"));
что-то вроде такого. кто хочет сделать из этого лялю, прошу писать в скайп :)
Ах да, еще нужно открыть доступ к папке modules!
Спустя 1 день, 2 часа, 30 минут, 22 секунды (3.09.2012 - 20:50) johniek_comp написал(а):
Добавил возможность для перехода с данными в таблице
в таблице в полем id будут формироваться ссылки
и т.д.
Так же добавил пару мелочей по оформлению таблиц:
первый аргумент это ширина таблицы в пикселях, и ее позиция.
Указывать не обязательно, по умолчанию будет 100 и center
Как только реализую еще пару моментов выложу демо! Всем спасибо.
$grid->title("Id")->field("id")->assort(false)->link("/user/edit/");
в таблице в полем id будут формироваться ссылки
<a href="/user/edit/4">4</a>
и т.д.
Так же добавил пару мелочей по оформлению таблиц:
$grid = new Grid("75", "left");
первый аргумент это ширина таблицы в пикселях, и ее позиция.
Указывать не обязательно, по умолчанию будет 100 и center
Как только реализую еще пару моментов выложу демо! Всем спасибо.
Спустя 9 минут, 8 секунд (3.09.2012 - 20:59) Игорь_Vasinsky написал(а):
молодец!
Спустя 34 минуты, 7 секунд (3.09.2012 - 21:33) Семён написал(а):
Посмотри каким образом работает Grid в Yii
_____________
