HTML_TreeMenu

Govi

Новичок
HTML_TreeMenu

Проблема возникла когда пытался прикрутить HTML_TreeMenu к сайту работающем на Smarty. Я полагал, что нижеприведённые строки дадут возможность передать переменную в темплет где я и смогу отобразить дерево
PHP:
$html .= "<script src='TreeMenu.js' language='JavaScript' type='text/javascript'></script>";
$html .= $treeMenu->printMenu();
return $html;
. Но кроме JS-ошибки, говорящей что js ненайден, больше ничего нет. Пробовал прописать путь в темплете, ничего не изменилось. Поясните, что происходит?
 

kvf77

Red Devil
Govi

ну и что означает этот бредовый код? каким образом у тебя грузится treemenu.js?
 

kvf77

Red Devil
Govi

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

crocodile2u

http://vbolshov.org.ru
Govi
Предложения есть.
1) Задать нормально вопрос
2) _хоть немного_ и _хоть иногда_ читать мануал.
 

Govi

Новичок
Ну приводить весь код нет смысла, т.к рыться в нём никто само собой разумеется небудет.
PHP:
$html .= $treeMenu->printMenu(); 
return $html;
// возвращаем дерево
в темплете грузим js
<script src='TreeMenu.js' language='JavaScript' type='text/javascript'></script>. В результате ошибка js
 

crocodile2u

http://vbolshov.org.ru
Govi
Нууу.... так дело не пойдет. Тебя же просят, русским языком: задать вопрос нормально. А не переписывать первый пост заново.
 

Govi

Новичок
Проблема в js. аким образом нужно подгружать TreeMenu.js?
 

kvf77

Red Devil
Таким:
<script src='TreeMenu.js' language='JavaScript' type='text/javascript'></script>

какой вопрос таков и ответ. ты разберись что как и где у тебя должно подгружаться и в какой последовательности
 

crocodile2u

http://vbolshov.org.ru
Govi
Я лично тебя совершенно не понимаю. В конце концов: кому надо заставить этот TreeMenu работать - тебе или мне? или kvf77? Дык - у меня он работает великолепно...
 

Govi

Новичок
я делал вот как здесь

http://www.phpkitchen.com/index.php?/archives/298-Creating-Dynamic-Menus-with-HTML_TreeMenu.html

вот и пытаюсь у вас узнать, как заставить ето меню работать вместе с смарти
 

crocodile2u

http://vbolshov.org.ru
Ну вот. уже лучше. Теперь ответь на простой вопрос:
безо всяких смарти тебе удалось заставить меню работать?

И еще - пойми одну простую вещь: в том контексте, в котором ты задаешь вопрос, невозможно проследить связь между меню и смарти...
 

Govi

Новичок
crocodile2u
без smarty меню работает. Как организовать ето в темплете я не имею понятия, такие же дела и с свзязью о которой ты говоришь.

-~{}~ 10.10.05 13:45:

Вопрос о смарти и меню можно закрыть. Единственное, что хотелось бы узнать, если использовать &Tree::createFromMySQL для создания структуры, как сделать каждому елементу дерева свою ссылку? Прийдётся писать свою функцию и использовать

PHP:
$node1   = new HTML_TreeNode(array('text' => "First level", 'link' => "test.php", 'icon' => $icon, 'expandedIcon' => $expandedIcon, 'expanded' => true));
??
 

Govi

Новичок
crocodile2u
что бы использовать createfromStructure() всё равно нужно передать массив в качестве аргумента, а делать его нужно собственными методами.
 

kvf77

Red Devil
Govi
так в чем проблема его сделать-то не понимаю - сформулируй вопрос точнее
 

Govi

Новичок
PHP:
function create()
{
	$tree = &Tree::createFromMySQL(array('host'     => '','user' => '','pass' => '', 'database' => '','query' => ''));
  	$nodeOptions = array(
	'text'          => '', 
	'link'          => 'http://bbb', 
	'icon'          => 'folder.gif', 
	'expandedIcon'  => 'folder-expanded.gif', 
	'class'         => '', 
	'expanded'      => false, 
	'linkTarget'    => '_self', 
	'isDynamic'     => 'true', 
	'ensureVisible' => '', 
	); 
	$options = array('structure' => $tree, 
	                 'type' => 'heyes', 
	                 'nodeOptions' => $nodeOptions);                                      
	$menu     = &HTML_TreeMenu::createFromStructure($options);
	$treeMenu = &new HTML_TreeMenu_DHTML($menu, array('images' => 'images', 'defaultClass' => 'share'));
	return  $treeMenu->toHTML();
}
Можно использовать только те ф-ии, что я привёл или нужно написать свою рекурсивную ф-ю вместо createFromMySQL ??

-~{}~ 10.10.05 23:27:

Забыл главное добавить, линки для етого дерева получаются одинаковые. Для каждого листа должна быть своя ссылка.
 

kvf77

Red Devil
Govi

слушай, ты уже который день тут нас паришь этим - ну есть же в комплекте куча примеров - открой и посмотри какой формат у списка меню и как он делается - как маленький
 

crocodile2u

http://vbolshov.org.ru
Govi
Ну говорят же тебе: createFromStructure();

Совет: скачай пакет PEAR::DB_NestedSet. У него есть надстройка - DB_NestedSet_Output, и класс для построения TreeMenu - DB_NestedSet_TreeMenu, наследующий от DB_NestedSet_Output. Также там есть примеры того, как использовать createFromStructure(); _и как задать каждой ноде свой линк_ (!).
 
Сверху