Если вы используете CodeIgniter Bonfire для своих проектов, вы наверняка знаете, что Javascript-библиотека DataTables по умолчанию интегрирована в последние версии Bonfire.
Что нам нужно сделать, чтобы использовать его в наших модулях?
В файле контроллера вашего модуля, в котором вы хотите реализовать DataTables
Скопируйте / вставьте эти строки в вашу функцию __construct ():
Скопируйте / вставьте эту строку в свою функцию index ():
Создайте файл js.php в каталоге имя_модуля / views / your_context с этими строками кода
В файле index.php в каталоге имя_модуля / views / your_context добавьте код
Добавьте параметр id = ”flex_table” в тег ‹table› (результат будет выглядеть следующим образом):
ВАЖНАЯ ЗАМЕТКА
Если вы создаете новый модуль в Bonfire (со встроенным построителем кода) и хотите использовать DataTables, НЕ устанавливайте флажок «Использовать библиотеку разбивки на страницы для создания пейджера».
Если вы ранее создавали модуль с использованием библиотеки разбиения на страницы, вам необходимо прокомментировать или удалить эти строки кода в функции index () (в файле контроллера вашего модуля, где вы хотите реализовать DataTables):
И, вам необходимо прокомментировать или удалить эту строку кода в конце файла index.php в каталоге имя_модуля / views / your_context (тот же файл, в который вы ранее добавляли id = ”flex_table”).
Параметр DataTable
Созданный файл js.php вы можете настроить под другой внешний вид и поведение с помощью опций:
- стиль подкачки
"sPaginationType"
, - активация пагинации
"bPaginate"
, - автоматическая ширина столбцов
"bAutoWidth"
, - сортировка по умолчанию загрузка страницы:
"aaSorting"
, - сортировка столбца по столбцу:
"aoColumns"
с параметрами{ "bSortable": false }
илиnull
и т. д.
Все параметры и функции описаны в документации DataTables 1.9:
Версия таблиц данных в CodeIgniter Bonfire
В актуальной версии CodeIgniter Bonfire есть JS-библиотека DataTables версии 1.9.0.
Пожалуйста, проверьте это:
Https://github.com/ci-bonfire/Bonfire/blob/develop/public/themes/admin/js/jquery.dataTables.min.js