Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Собрать своё дерево категорий на PHP из шаблона

Следить
Главная
14:40
25 мар
#
?
optic написал:

Я пытаюсь запилить шаблон под хотелки погремушки свои. Попал в тупик, надо создать дерево категорий, чтоб с набором только нужных мне полей, а как сделать лучше, не знаю. Может поделитесь оптыом.

Мне нравится правило движок ничего не готовит в шаблон, нужные струтктуры делаем по месту применения. Так вот я взял заготовку хэлпера, вставил отказ подготовки переменных до шаблона, написал свои функции.

<?php
    class TemplateEmulator {
        protected $cms = null;
        public $not_preassignable = array('*');

        public function __construct ( & $cms ) {
            $this->cms = & $cms;
            $this->setSmartyPlugins($cms);
        }

        protected function setSmartyPlugins ( & $cms ) {
            $items = array('My', 'Template', 'Functions');
            foreach ($items as $name) {
                $cms->smarty->registerPlugin('function', $name, array($this, $name));
            }
            $cms->smarty->assignByRef('emulator', $this);
        }

        public function My ( $params = null, & $smarty = null ) {...}
        public function Template ( $params = null, & $smarty = null ) {...}
        public function Functions ( $params = null, & $smarty = null ) {...}
    }
?>

И вот вопрос собственно касается функции BuildCategoryTree. Заселектить то категории я могу, могу в конце передать в переменную шаблона, но между что

public function BuildCategoryTree ( $params = null, & $smarty = null ) {
    $items = array();
    $query = 'SELECT category_id, parent, name, url FROM categories WHERE enabled = 1';
    $result = $this->cms->db->query($query);
    if (!empty($result)) {
        как теперь собрать дерево?
    }
    $smarty->assignByRef('cats', $items);
}
?>

Сласть малина была, чтоб одним проходом, максимально скорость, сократить расход памяти и код желательно покороче) Моё дерево имеет 6K узлов, поэтому такие требования.

00:38
28 мар
#
?
hotwine написал:

Напишите за меня ктонить дерево категорий я денежку получю за ваше здоровье выпью.

Детский с ад иначе не сказать на вопрос и почему сами думать не хотите.

13:07
28 мар
#
?
Андрей написал:

Optic. Может вот это objects/corrector/Corrector.admin.php, взгляните на метод getRecords. Почти что вы хотели, обработать только напильником.

13:28
29 мар
#
?
optic написал:

Спасибо. Я просмотрел модули Corrector, PriceEditor, Pricelist, PriceMonitoring. Но алгоритм генератора дерева не поддерживает "категория прикреплена к нескольким".

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.


Хостинг для сайта

Хостинг для интернет магазина

Svai.net

Украина
г. Черкассы
5+ Заказать

TutHost.ua

Украина
г. Киев
Заказать

Mirohost.net

Украина
г. Киев
? Заказать

HyperHosting.com.ua

Украина
г. Винница
i подробнее Заказать

Agava.ru

Россия
г. Москва
Заказать

Ukraine.com.ua

Украина
г. Киев
5 Заказать
Импераготовасотрудничатьс провайдерами Важно Учтите Этот список перечисляет лишь некоторых хостинг-провайдеров, у которых существуют специальные тарифные планы для интернет магазинов, а сам список не означает, что другие провайдеры чем-то хуже.

Существующие в списке оценки по 5-бальной шкале не должны учитываться при выборе, так как носят субъективный характер и касаются соотношения цена-качество-скорость только для самых дорогих тарифных планов.

Демо Главная Хронология Соглашение Материалы Контакты