Перейти к публикации

Рекомендованные сообщения

я новичек в этом деле, и у меня сразу же возникли некоторые вопросы:

я написал вроде как работчий скрипт, но выводится оно либо где-то нетак где надо, либо невыводится вообще. Шаблонам неподчиняется. Точнее подчиняется только текст, а выполнение функций и переменные никак. Вот примерный код:

<?

if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}

$tpl->load_template('downloads/downloads.tpl');

function ShowTree($ParentID, $lvl) { 

	global $tree;

	if (!isset($tree[$ParentID])) return;

	echo "<ul>\n";

	foreach($tree[$ParentID] as $item) {

		echo "<li>\n";

		$tpl->set('{link}', '<a href="?ID='.$item["id"]."\">".$item["title"]."</a>\n");

		ShowTree($item["id"], $lvl+1);

		echo "</li>\n";

	}

	echo("</ul>\n");

}

$tree = array();

$result= $db->query ("SELECT * FROM dle_dl_cat ORDER BY pid, title");

while ($row = $db->get_row($result)) {

   $tree[$row['pid']][] = $row; // группируем разделы по предку

}

$tpl->set('{categories}', 'text');

ShowTree(0, 1);

$tpl->compile('content');

$tpl->clear();

?>

как выводить результат работы функции ShowTree выводилась через {categories}

Ссылка на сообщение
Поделиться на других сайтах

1. "echo" не используй)

2. Функция не знает что такое $tpl )

3. if (!isset($tree[$ParentID])) return; Это зачем?:)

4. Не тот раздел форума)

Ссылка на сообщение
Поделиться на других сайтах

1. В данном разделе разрешено публиковать только готовые модули или хаки

Все echo загоняй например в $my_echo .= "";

Потом $tpl->set

Ссылка на сообщение
Поделиться на других сайтах

<?php


/**

 * @author 

 * @copyright 2008

 */



if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}

$tpl->load_template('downloads/downloads.tpl');


function ShowTree($ParentID, $lvl) { 

	global $tree;

	if (!isset($tree[$ParentID])) return;

	$tree_dw = "<ul>";

	foreach($tree[$ParentID] as $item) {

		$tree_dw .= "<li>";

		$tpl->set('{link}', '<a href="?ID='.$item["id"]."\">".$item["title"]."</a>\n");

		ShowTree($item["id"], $lvl+1);

		$tree_dw .= "</li>";

	}

	$tree_dw = "</ul>";


	return $tree_dw;

}

$tree = array();

$result= $db->query ("SELECT * FROM dle_dl_cat ORDER BY pid, title");

while ($row = $db->get_row($result)) {

   $tree[$row['pid']][] .= $row; // группируем разделы по предку

   $hz = $tree;

}



$tpl->set('{categories}', $hz);

$tpl->set('{tree_dw}', ShowTree(0, 1));

$tpl->compile('content');

$tpl->clear();

?>

Что то вроде этого...

Вообще код убогий. Так дерево не надо выводить.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...