API :: tree_visuals.class.php

Это класс который отвечает за показ дерева категорий.
Вы можете использовать его в своих модулях.
Например так:



Чтобы вывести дерево категорий вам нужно
a) Подключить класс в модуль
<?php include_once($_CFG['path_to_cms'].'core/libraries/tree/tree_visuals.class.php');?>


b) Создать обьект дерева
$tree = new tree_visuals(7, null, null, 'wbg_tree_categories');

Где аргументы могут быть следующими:
__construct($start_category = 0, $language = null, $cookie_name = "wbg_tree_categories", $SQL_tablename = "wbg_tree_categories")

$start_category - Категория с которой начнется показ дерева (root=0)
$language - язык категории которого должны быть показаны. Если не указано - возмется язык из $start_category (Учтите что категории с языком 0 показываются всегда независимо от выбранного языка)
$cookie_name - название cookie. Этот cookie отвечает за запоминание тех категорий которые были отктыты пользователем (expanded). Т.е если вы откорете категорию и сделаете рефреш странице - web-gooroo запомнит это и автоматически откроет те категории что вы открыли.
$SQL_tablename - Название таблицы по которой будет идти поиск категорий

c) Получить HTML код с деревом
echo $tree->draw_tree()

функция возвращает HTML с деревом и всеми нужными CSS и JS файлами

Дополнительные возможности:

$tree->open_all_categories($ignore_cookie = false)
Функция делает expand (открывает) всем категориям
$ignore_cookie - игнорировать cookie в котором зафиксировано что пользователь открывал до этого

$tree->open_categories($categories = array(), $ignore_cookie = false)
Делает expand только заданным категориям.
$categories = array(1,10,110);

$tree->activate_category($category_id)
Сделает expand для всех parent категорий

$tree->hide_from_tree($category_id)
Прячет категорию из дерева. Соответственно убираются все child категории


Переменные класа:
$this->url_to_class                         = dirname(str_replace($_CFG['path_to_cms'], $_CFG['url_to_cms'], __FILE__))."/";
$this->url_to_skin                            = $_CFG['url_to_skin'] . 'tree/';
$this->js_with_onclick_action                 = $this->url_to_class.'js/tree_onclick.js.php';
$this->file_with_root_category_containers     = $_CFG['path_to_skin'] . 'categories/root_category_containers.tpl.php';
$this->js_with_events                        = $this->url_to_class.'js/tree_events.js.php';



Примимер:
$sitetree = new tree_visuals(0, $_POST['lang'], "wbg_tree_categories", "wbg_tree_categories");
$sitetree->activate_category($_GET['id']);
$dir = dirname(str_replace($_CFG['path_to_cms'], $_CFG['url_to_cms'],__FILE__)).'/';
$sitetree->js_with_onclick_action = $dir.'onclick.js';
echo $sitetree->draw_tree();


Чтобы поставить совственнй обработчик на events вам нужно указать ваш JS файл.
Это делается через переменную $tree->js_with_onclick_action
Содержание простейшего файла :
function tree_do_onclick($id){
    alert($id)
}



Пользователь

Пароль

Поиск по сайту



Ссылка продана за пачку денег
русская CMS