[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Модуль Grid
johniek_comp
Написал простенький модуль для kohana 3.2. Суть его в том что для создания таблицы с данными, пагингом, сортировкой и фильтром уходило куча времени, а дизайнер крыл матом всем " Что за <?php endif ?> б***ь? "

Вообщем пользуйтесь кому надо, правда пока не готов функционал кнопок, для перехода на редактирование\удаление и т.д., но я упорно тружусь над этим. Если кто-то заимеет желание можно меня форкнуть, вместе что-то решим - писать в скайп (в подписи).

Инструкция:
Скачиваем архив.
Распаковываем в папку /modules/grid/сюда
Открываем bootstrap.php добавляем модуль
'grid'  => MODPATH.'grid'


Все, теперь можно использовать!

Скриншот:
user posted image

За всей этой красотой скрывается 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 написал(а):
Добавил возможность для перехода с данными в таблице

$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


_____________
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.