Перейти к содержимому


Фотография
- - - - -

Неправильная сортировка категорий в модуле JBZoo Category List


Лучший Ответ joejoker , 12 October 2013 - 18:24

Да, действительно. Есть такая недоработка. Категории выбираются как есть. Для быстрого решения проблемы, Вам нужно отредактировать файл /modules/mod_jbzoo_category/helper.php

 

В этом файле есть следующий код:

    protected function _getCategories()
    {
        $categories = $this->app->table->category->all(array(
            'conditions' => array(
                'parent = ' . $this->_params->get('cat_id'),
                ' AND application_id = ' . $this->_params->get('app_id') . ' AND published = 1'
            ),
            'limit'      => $this->_params->get('category_limit'),
        ));


        return $categories;
    }

Добавьте, сразу после строки:

'limit' => $this->_params->get('category_limit'),

 вот эту строку:

'order' => 'name asc',

В итоге весь метод должен приобрести такой вид:

    protected function _getCategories()
    {
        $categories = $this->app->table->category->all(array(
            'conditions' => array(
                'parent = ' . $this->_params->get('cat_id'),
                ' AND application_id = ' . $this->_params->get('app_id') . ' AND published = 1'
            ),
            'limit'      => $this->_params->get('category_limit'),
            'order'      => 'name asc',
        ));


        return $categories;
    }

Если нужна сортировка по какому либо из других полей, то замените значение 'name asc' на нужное Вам.

 

С ближайшим обновлением добавим настройки сортировки для категорий.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 4

#1 funkdu

funkdu

Отправлено 08 October 2013 - 10:21

В модуле JBZoo Category List категории сортируются по ИД, а не по алфавиту. Настроек сортировки вообще нет… На изменения в списке категорий самого приложения не реагирует и выводит все равно по ИД.

 

Как исправить?


  • 0

#2 joejoker

joejoker

Отправлено 11 October 2013 - 09:32

Доброго времени суток. Не совсем понял Ваш вопрос. 
 

Настроек сортировки вообще нет…
 

Как минимум, в настройках модуля должны присутствовать эти настройки: http://prntscr.com/1wlrhj 
Просьба: предоставьте скриншоты всех настроек модуля. Как в менеджере модулей, так и в настройках шаблонов jbzoo.

Сообщение отредактировал joejoker: 11 October 2013 - 12:13

  • 0
В мире все совсем не сложно, если самому не усложнять.
Разработка индивидуальных решений для ZOO /JBZoo /Joomla

#3 funkdu

funkdu

Отправлено 12 October 2013 - 11:40

 

Доброго времени суток. Не совсем понял Ваш вопрос. 
 

 

 

 

Как минимум, в настройках модуля должны присутствовать эти настройки: http://prntscr.com/1wlrhj 
Просьба: предоставьте скриншоты всех настроек модуля. Как в менеджере модулей, так и в настройках шаблонов jbzoo.

 

 

На вашем скриншоте есть сортировка материалов. Она и у меня есть, но мне нужно сортировать категории.

 

Эти модулем я вывожу только список категорий, и у меня не получается вывести список категорий в нужном мне порядке. Они вводятся строго по ID (т. е. последняя созданная категория всегда последняя в списке вывода). В самом приложении (в админке) у меня категории в нужно мне порядке, и если выводить их стандартным модулем (ZOO Category), то они выводятся корректно — согласно порядку в админке.


  • 0

#4 joejoker

joejoker

Отправлено 12 October 2013 - 18:24   Лучший Ответ

Да, действительно. Есть такая недоработка. Категории выбираются как есть. Для быстрого решения проблемы, Вам нужно отредактировать файл /modules/mod_jbzoo_category/helper.php

 

В этом файле есть следующий код:

    protected function _getCategories()
    {
        $categories = $this->app->table->category->all(array(
            'conditions' => array(
                'parent = ' . $this->_params->get('cat_id'),
                ' AND application_id = ' . $this->_params->get('app_id') . ' AND published = 1'
            ),
            'limit'      => $this->_params->get('category_limit'),
        ));


        return $categories;
    }

Добавьте, сразу после строки:

'limit' => $this->_params->get('category_limit'),

 вот эту строку:

'order' => 'name asc',

В итоге весь метод должен приобрести такой вид:

    protected function _getCategories()
    {
        $categories = $this->app->table->category->all(array(
            'conditions' => array(
                'parent = ' . $this->_params->get('cat_id'),
                ' AND application_id = ' . $this->_params->get('app_id') . ' AND published = 1'
            ),
            'limit'      => $this->_params->get('category_limit'),
            'order'      => 'name asc',
        ));


        return $categories;
    }

Если нужна сортировка по какому либо из других полей, то замените значение 'name asc' на нужное Вам.

 

С ближайшим обновлением добавим настройки сортировки для категорий.


Сообщение отредактировал joejoker: 21 November 2013 - 10:44

  • 0
В мире все совсем не сложно, если самому не усложнять.
Разработка индивидуальных решений для ZOO /JBZoo /Joomla

#5 funkdu

funkdu

Отправлено 13 October 2013 - 13:54


Сработало. Большое спасибо.
  • 0




Click to return to top of page in style!