Вывод категорий
Подскажите как бороться...
Добавлял категории в объявления...
Они выводятся в Алфавитном порядке...
Как реализовать вывод категорий порядком, который необходим мне?
Заранее огромное спасибо!
Если не трогать код то да, а если подшаманить то можно отсортировать по любому полю из таблицы cms_board_cats, в том числе и по id...
чуток опередили меня З.Ы.
Имхо, нет ничего невозможного.
правим :)
Ну править сказать легко… вот только где в коде найти порядок сортировки?frontend.php
правим :)
public function getCategory($category_id) { $this->deleteOldRecords(); $category = $this->inDB->get_fields('cms_board_cats', 'id='.$category_id, '*'); $category = cmsCore::callEvent('GET_BOARD_CAT', $category); if (!$category['obtypes']){ $category['obtypes'] = $this->inDB->get_field('cms_board_cats', "NSLeft <= {$category['NSLeft']} AND NSRight >= {$category['NSRight']} AND obtypes <> ''", 'obtypes'); } return $category; }
собсно решение начинает вырисовываться :)
vicoder где-то выкладывал решение по сортировке категорий статей из админки, надо там подсмотреть.
public function getSubCats($category_id) { $sql = "SELECT c.*, IFNULL(COUNT(i.id), 0) as content_count FROM cms_board_cats c LEFT JOIN cms_board_items i ON i.category_id = c.id AND i.published = 1 WHERE c.published = 1 AND c.parent_id = $category_id GROUP BY c.id ORDER BY title ASC"; $result = $this->inDB->query($sql); if (!$this->inDB->num_rows($result)){ return false; } while($cat = $this->inDB->fetch_assoc($result)){ if (!$cat['obtypes']){ $cat['obtypes'] = $this->inDB->get_field('cms_board_cats', "NSLeft <= {$cat['NSLeft']} AND NSRight >= {$cat['NSRight']} AND obtypes <> ''", 'obtypes'); } $cats[] = $cat; } $cats = cmsCore::callEvent('GET_BOARD_SUBCATS', $cats); return $cats; }
Если уже есть объявления, тогда еще придется менять category_id для всех объяв в cms_board_items, так что на уже работающей доске неприменимо!Не проверял на сайте, так что сделайте бекап если решитесь править.