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


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

Список типов элемента в алфавитном порядке? Как?


Лучший Ответ Cheren-dow , 07 July 2014 - 09:09

Гордей, доброго времени суток. Извините за долгий ответ.

Попробуйте внести следующие правки. Откройте файл

сайт\administrator\components\com_zoo\classes\application.php

Найдите в нем метод getTypes 

public function getTypes() {
...
}

И замените его полностью на 

public function getTypes() {

    if (empty($this->_types)) {

        $this->_types = array();
        $path   = $this->getResource() . '/types';
        $filter = '/^.*config$/';
        if ($files = $this->app->path->files($path, false, $filter)) {
            foreach ($files as $file) {
                $alias = basename($file, '.config');
                $this->_types[$alias] = $this->app->object->create('Type', array($alias, $this));
            }
        }

        usort($this->_types, array('Application', 'cmp'));
    }

    return $this->_types;
}

И ниже добавьте дополнительный метод

/**
 * @param $a
 * @param $b
 * @return int
 */
public function cmp($a, $b)
{
    return strcmp($a->name, $b->name);
}

После этого сортировка должна происходить в алфавитном порядке

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


  • Закрытая тема Тема закрыта
В теме одно сообщение

#1 Гордей

Гордей

Отправлено 02 July 2014 - 12:15

Как сделать так, чтобы при Создании нового элемента на этапе выбора типа элемента, список типов элемента был выведен в алфавитном порядке?

Прикрепленные изображения

  • dddd.jpg

  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 07 July 2014 - 09:09   Лучший Ответ

Гордей, доброго времени суток. Извините за долгий ответ.

Попробуйте внести следующие правки. Откройте файл

сайт\administrator\components\com_zoo\classes\application.php

Найдите в нем метод getTypes 

public function getTypes() {
...
}

И замените его полностью на 

public function getTypes() {

    if (empty($this->_types)) {

        $this->_types = array();
        $path   = $this->getResource() . '/types';
        $filter = '/^.*config$/';
        if ($files = $this->app->path->files($path, false, $filter)) {
            foreach ($files as $file) {
                $alias = basename($file, '.config');
                $this->_types[$alias] = $this->app->object->create('Type', array($alias, $this));
            }
        }

        usort($this->_types, array('Application', 'cmp'));
    }

    return $this->_types;
}

И ниже добавьте дополнительный метод

/**
 * @param $a
 * @param $b
 * @return int
 */
public function cmp($a, $b)
{
    return strcmp($a->name, $b->name);
}

После этого сортировка должна происходить в алфавитном порядке


  • 1
Изображение
 




Click to return to top of page in style!