Аякс сортировка таблиц в админке

+41
2.42K
Часто возникает нужда отсортировать те же модули, но проблема в том, что с каких то пор для этого используется яваскрипт, который сортирует лишь содержимое текущей страницы, а не всё целиком.
//ага, она самая

Установка

1. Распаковываем содержимое архивчега в корень сайта.
2. В файле /admin/includes/cp.php приводим строку:
  1. 387 function cpListTable($table, $_fields, $_actions, $where = '', $orderby = 'title'){
К виду:
  1. function cpListTable($table, $_fields, $_actions, $where = '', $orderby = 'title', $checkbox = true){
  2. require_once 'includes/cpListTable.php';
  3. return cpListTable::fast($table, $_fields, $_actions, $where, $orderby, $checkbox);
3. В файле /admin/js/common.js комментируем строку:
  1. 55 function activateListTable(){
  2. //$('table.tablesorter').tablesorter({headers: {0: {sorter: false}}});
4. В файле /admin/applets/modeles.php меняем строки:
  1. 279 $('.filter').eq(0).after('<div class="filter">'+$('#com_filter').html()+'</div>');
  2. $('#com_filter').remove();
На:
  1. $('#lt-wrap-list').before('<div class="filter">'+$('#com_filter').remove().html()+'</div>');
Также вы можете добавить немного удобства на страницу плагинов в виде: названия этих плагинов служат ссылками на них.
В файле /admin/applets/plugins.php:
Меняем:
  1. 75 $fields[1]['title'] = $_LANG['TITLE']; $fields[1]['field'] = 'title'; $fields[1]['width'] = '250';
На:
  1. $fields[1] = array('title'=>$_LANG['TITLE'],'field'=>'title','width'=>'250','link'=>'?view=plugins&do=config&id=%id%');
А также:
  1. 92 cpListTable('cms_plugins', $fields, $actions);
На:
  1. cpListTable('cms_plugins', $fields, $actions, '', 'title', false);
Начинал делать больше месяца назад, поэтому зачем я заменил функцию целым классом — не помню)
Олег Васильевич я Олег Васильевич я 11 лет назад #
Комментарий удален
Олег Васильевич я Олег Васильевич я 11 лет назад #
Комментарий удален
+2
SpideR SpideR 11 лет назад #
А по подробнее можете рассказать о сие творении? А то я видно не выспался, или спать хочу наоборот - так и не понял что она делает. )))
Но плюс сразу поставил, lokanaft всегда что-то полезное "мудрит".
Олег Васильевич я Олег Васильевич я 11 лет назад #
Комментарий удален
0
lokanaft lokanaft 11 лет назад #
Да я хотел было вставить картинку для наглядности, при чём я это пытаюсь сделать каждый раз, но досадный косяк в опере не позволяет мне это сделать. А каждый раз загружать скрины в личные файлы мне не хочется, ибо так делать не по фэн-шую.
0
Андрей Андрей 11 лет назад #
locanaft, могу презентовать сервис "быстроскрина", без всякой рекламы, очень удобно!
0
Mademaster Mademaster 11 лет назад #
Joxi.ru smile
0
Андрей Андрей 11 лет назад #
их много, просто я на своем сервере реализовал такой сервис
0
AndroS AndroS 11 лет назад #
Ссылку мона? :)
Олег Васильевич я Олег Васильевич я 11 лет назад #
Комментарий удален
+2
Clear Clear 11 лет назад #
Согласен, нужная вещь, нужно вносить в релиз. Иногда вообще сложно найти нужный модуль коих больше 100 штук. Спасибо.
0
AndroS AndroS 11 лет назад #
Таких решений в блогах более чем достаточно, полностью поддерживаю вас в этом!
Олег Васильевич я Олег Васильевич я 11 лет назад #
Комментарий удален
0
Endroid Endroid 11 лет назад #
Сделал. Первые 3 пункта, а вот "4. В файле /admin/applets/modeles.php меняем строки:" - не нашел. Но и без этого работает joke

Однозначно в ядро надо!
+1
eoleg eoleg 10 лет назад #
не работает на 1.10.3 к сожалению.
lokanaft найдите время пожалуйста! smile
+1
eoleg eoleg 10 лет назад #
при выполнении первых 3 пунктов не отображаются модули по ссылке в меню админки, видны только после сортировки.

Еще от автора

Ajax подгрузка контента для двойки
Ну что, товарищи, сегодня вы своими руками сможете сделать ajax подгрузку записей контента.
AJAX подгрузка комментов для двойки
Как следует из названия, дополнение ограничивает полный вывод всех комментов записи и позволяет пользователю при необходимости посмотреть следующие.
ContentWatch - проверка уникальности добавляемого контента для icms2
Компонент позволяет проверять уникальность текста с помощью сервиса Content-Watch.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.