Добрый день, ХабраСообщество!
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
Представляю вашему вниманию — Grocery CRUD | Сайт разработчиков
Простой и понятный генератор «СоздатьЧитатьОбновлятьУдалять» для ваших таблиц в проектах CodeIgniter
Вся установка сводится к банальному разархивированию в папку с проектом, и созданию контролёра
Приводит к такому (пример разработчика):
Как видно, всё что нужно уже есть, но на этом возможности не заканчиваются.
Вывод нужных столбцов в общий вид
Указали таблицу, указали столбцы — и получили красоту:
Отношения 1:1
На выходе получаем связанные записи:
Отношения через таблицу
В случае если относительная таблица большая:
В случае если относительная таблица маленькая:
AJAX загрузка файлов
Решается это одной строкой:
Файл при загрузке получает 6-ти символьный рандомный ключ-префикс.
Дополнительно:
На всю «разработку» администраторской панели потратил не более часа, с просмотром исходников. Однозначно всем программистам использующим фреймворк CodeIgniter — советую!
Над проектом активно ведется разработка на GitHub
Уже почти месяц веду разработку проекта на CodeIgniter 2.0 и к середине написания столкнулся с проблемой при написании администраторской части. Так сложилось что с «CI» знаком уже более 2-х лет, и еще не разу CodeIgniter меня не подвел в своих возможностях.
Сам проект у меня исчисляется 35 таблицами и писать администраторскую панель мне необходимо для «хомячков». Подсчитав приблизительные человеко-часы необходимые на разработку интерфейса + программной части, я пришел в дикий ужас. Энтузиазм немного поутих (проект мой личный). Вспоминая добрым словом хоть какой-то CRUD в старых версиях, я рискнул «спросить Гугл», авось повезет… И повезло!
Представляю вашему вниманию — Grocery CRUD | Сайт разработчиков
Простой и понятный генератор «СоздатьЧитатьОбновлятьУдалять» для ваших таблиц в проектах CodeIgniter
Вся установка сводится к банальному разархивированию в папку с проектом, и созданию контролёра
<?php
function название_таблицы()
{
$output = $this->grocery_crud->render();
$this->_example_output($output);
}
?>
Приводит к такому (пример разработчика):
Как видно, всё что нужно уже есть, но на этом возможности не заканчиваются.
Вывод нужных столбцов в общий вид
<?php
function customers_admin()
{
$this->grocery_crud->set_table('customers');
$this->grocery_crud->columns('customerName','phone','addressLine1','creditLimit');
$output = $this->grocery_crud->render();
$this->_example_output($output);
}
?>
Указали таблицу, указали столбцы — и получили красоту:
Отношения 1:1
<?php
function employees_admin() {
$crud->set_table('employees');
$crud->display_as('officeCode','Office City'); //Задаем название для поля в котором будет проходить Relation
$crud->set_relation('officeCode','offices','city'); // set_relation(Поле в главной таблице для Отношения,Таблица Отношения,Поле для отображения из Относительной таблицы);
$output = $crud->render();
$this->_example_output($output);
}
?>
На выходе получаем связанные записи:
Отношения через таблицу
В случае если относительная таблица большая:
В случае если относительная таблица маленькая:
AJAX загрузка файлов
Решается это одной строкой:
...
$crud->set_field_upload('file_url','assets/uploads/files');// первый параметр - имя поля куда запишется имя файла
...
Файл при загрузке получает 6-ти символьный рандомный ключ-префикс.
Дополнительно:
- Для полей text — TinyMCE по дефолту
- Для полей date — DatePicker
- Для полей datetime — DataPicker + TimePicker
Итог:
На всю «разработку» администраторской панели потратил не более часа, с просмотром исходников. Однозначно всем программистам использующим фреймворк CodeIgniter — советую!
Над проектом активно ведется разработка на GitHub