Anneta
Новичок
Помогите) написать шаблон для вывода многоуровневого дерева...
Здравствуйте) подскажите, как можно реализовать вывод каталога товаров неограниченного уровня вложенности в шаблоне Smarty...
Вот скрипт на php, массив передан в переменную &users, может кто сталкивался с такой задачей:
<?php
require_once("./cnf/config.php");
require_once("./include/include.php");
/*********************** подключаем библиотеку smarty ***********************/
define('SMARTY_DIR','./smarty_library/');
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty ();//обьект smarty
$smarty->template_dir='./tpl/templates/';//указываем путь к шаблонам
$smarty->compile_dir='./tpl/templates_c/';
$smarty->config_dir='./tpl/configs/';
$smarty->cache_dir='./tpl/cache/';
/***************************** создаем переменные php ************************/
$arr_meta_tags['title'] = "Мой личный хостинговый сайт";
$arr_meta_tags['keywords'] = "хостинг, площадка, хостинг-услуги";
$arr_meta_tags['description'] = "Лучший хостинговый сайт предоставит хостинг-услуги по оптимальным ценам";
$arr_meta_tags['content'] = "Хостинг – это услуга, по размещению вашего сайта на сервере, за которым следят квалифицированные специалисты, поддерживающие его работоспособность 24 часа в сутки и 7 дней в неделю. Не многие хостинг-компании способны предоставить хорошие условия, и только единицы могут дать приемлемое для вас соотношение цены и качества. Таковой компанией является Hostland.";
$arr_meta_tags['news'] = array ('1' => array('date' => '09/12/2008', 'title' => 'Смена банковских реквизитов', 'text' => 'Уважаемые клиенты, обращаем Ваше внимание на то, что с 29 октября 2008 года у нас сменились реквизиты.'), '2' => array('date' => '11/12/2008', 'title' => 'Обновление линейки тарифных планов', 'text' => 'Теперь на всех наших тарифах еще больше места, еще больше доменов.'));
/********************************** производим анализ ************************/
if (!empty($_REQUEST['page']) && $_REQUEST['page'] == "about") {
$arr_meta_tags['content'] = "С каждым днем растет число сайтов созданных для развлечений – это сайты об играх, фан сайты, сайты досуга, в том числе «домашние» страницы и т.д. Никогда еще не было так просто, чем сегодня, открыть свой сайт. И если для бизнес проектов важным аспектом выбора хостинга является стабильность и надежность, то для некоммерческих, малобюджетных сайтов главным оставалось и остается – доступность, т.е. невысокая цена. Мы предлагаем уникальное решение, делая свои услуги доступным для всех пользователей сети и даем гарантии качества и надежности.";}
if (!empty($_REQUEST['page']) && $_REQUEST['page'] == "our_clients") {
$arr_meta_tags['content'] = "Уважаемые клиенты, уважаемые пользователи!
Коллектив компании Hostland.Ru от всей души поздравляет Вас с наступающим новым годом.
Этот год был очень насыщенным для нашей компании, мы славно потрудились, но многое впереди!
Мы поздравляем Вас, желаем всем успехов в бизнесе, благополучия в семье и крепкого здоровья!
С НОВЫМ ГОДОМ!";}
function ShowTree($ParentID, $lvl) {
global $link;
global $lvl;
$lvl++;
$sSQL="SELECT id, name, title, description, pages, ref FROM categories WHERE ref=".$ParentID." ORDER BY title";
$result=mysql_query($sSQL, $link);
if (mysql_num_rows($result) > 0) {
echo("<UL>\n");
while ( $row = mysql_fetch_array($result) ) {
$ID1 = $row["id"];
echo("<LI>\n");
echo("<A HREF=\""."?ID=".$ID1."\">".$row["title"]."</A>"." \n");
ShowTree($ID1, $lvl);
$lvl--;
}
echo("</UL>\n");
}
}
ShowTree(0, 0);
$select = mysql_query("SELECT * FROM `categories`");
do{
$users[] = $sel;
//echo $sel['id'], " - ", $sel['name'], " - ", $sel['title']," - ", $sel['ref'],"<br>";
}while($sel = mysql_fetch_array($select));
//echo $users;
$smarty->assign('users', $users);
mysql_close($link);
/************* передаем значение переменных php в переменные smarty *************/
$smarty->assign('title',$arr_meta_tags['title']);
$smarty->assign('keywords',$arr_meta_tags['keywords']);
$smarty->assign('description',$arr_meta_tags['description']);
$smarty->assign('news',$arr_meta_tags['news']);
$smarty->assign('custid',$arr_meta_tags['custid'] );
$smarty->assign('content',$arr_meta_tags['content']);
$smarty->plugins_dir[] = 'plugins';
$news_tpl = $smarty->fetch("news.tpl");
$smarty->assign('blok_news',$news_tpl);
$tree1_tpl = $smarty->fetch("tree1.tpl");
$smarty->assign('blok_tree',$tree1_tpl);
/*********************** запускаем показ шаблона smarty ************************/
$smarty->display("index.tpl");
?>
Здравствуйте) подскажите, как можно реализовать вывод каталога товаров неограниченного уровня вложенности в шаблоне Smarty...
Вот скрипт на php, массив передан в переменную &users, может кто сталкивался с такой задачей:
<?php
require_once("./cnf/config.php");
require_once("./include/include.php");
/*********************** подключаем библиотеку smarty ***********************/
define('SMARTY_DIR','./smarty_library/');
require(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty ();//обьект smarty
$smarty->template_dir='./tpl/templates/';//указываем путь к шаблонам
$smarty->compile_dir='./tpl/templates_c/';
$smarty->config_dir='./tpl/configs/';
$smarty->cache_dir='./tpl/cache/';
/***************************** создаем переменные php ************************/
$arr_meta_tags['title'] = "Мой личный хостинговый сайт";
$arr_meta_tags['keywords'] = "хостинг, площадка, хостинг-услуги";
$arr_meta_tags['description'] = "Лучший хостинговый сайт предоставит хостинг-услуги по оптимальным ценам";
$arr_meta_tags['content'] = "Хостинг – это услуга, по размещению вашего сайта на сервере, за которым следят квалифицированные специалисты, поддерживающие его работоспособность 24 часа в сутки и 7 дней в неделю. Не многие хостинг-компании способны предоставить хорошие условия, и только единицы могут дать приемлемое для вас соотношение цены и качества. Таковой компанией является Hostland.";
$arr_meta_tags['news'] = array ('1' => array('date' => '09/12/2008', 'title' => 'Смена банковских реквизитов', 'text' => 'Уважаемые клиенты, обращаем Ваше внимание на то, что с 29 октября 2008 года у нас сменились реквизиты.'), '2' => array('date' => '11/12/2008', 'title' => 'Обновление линейки тарифных планов', 'text' => 'Теперь на всех наших тарифах еще больше места, еще больше доменов.'));
/********************************** производим анализ ************************/
if (!empty($_REQUEST['page']) && $_REQUEST['page'] == "about") {
$arr_meta_tags['content'] = "С каждым днем растет число сайтов созданных для развлечений – это сайты об играх, фан сайты, сайты досуга, в том числе «домашние» страницы и т.д. Никогда еще не было так просто, чем сегодня, открыть свой сайт. И если для бизнес проектов важным аспектом выбора хостинга является стабильность и надежность, то для некоммерческих, малобюджетных сайтов главным оставалось и остается – доступность, т.е. невысокая цена. Мы предлагаем уникальное решение, делая свои услуги доступным для всех пользователей сети и даем гарантии качества и надежности.";}
if (!empty($_REQUEST['page']) && $_REQUEST['page'] == "our_clients") {
$arr_meta_tags['content'] = "Уважаемые клиенты, уважаемые пользователи!
Коллектив компании Hostland.Ru от всей души поздравляет Вас с наступающим новым годом.
Этот год был очень насыщенным для нашей компании, мы славно потрудились, но многое впереди!
Мы поздравляем Вас, желаем всем успехов в бизнесе, благополучия в семье и крепкого здоровья!
С НОВЫМ ГОДОМ!";}
function ShowTree($ParentID, $lvl) {
global $link;
global $lvl;
$lvl++;
$sSQL="SELECT id, name, title, description, pages, ref FROM categories WHERE ref=".$ParentID." ORDER BY title";
$result=mysql_query($sSQL, $link);
if (mysql_num_rows($result) > 0) {
echo("<UL>\n");
while ( $row = mysql_fetch_array($result) ) {
$ID1 = $row["id"];
echo("<LI>\n");
echo("<A HREF=\""."?ID=".$ID1."\">".$row["title"]."</A>"." \n");
ShowTree($ID1, $lvl);
$lvl--;
}
echo("</UL>\n");
}
}
ShowTree(0, 0);
$select = mysql_query("SELECT * FROM `categories`");
do{
$users[] = $sel;
//echo $sel['id'], " - ", $sel['name'], " - ", $sel['title']," - ", $sel['ref'],"<br>";
}while($sel = mysql_fetch_array($select));
//echo $users;
$smarty->assign('users', $users);
mysql_close($link);
/************* передаем значение переменных php в переменные smarty *************/
$smarty->assign('title',$arr_meta_tags['title']);
$smarty->assign('keywords',$arr_meta_tags['keywords']);
$smarty->assign('description',$arr_meta_tags['description']);
$smarty->assign('news',$arr_meta_tags['news']);
$smarty->assign('custid',$arr_meta_tags['custid'] );
$smarty->assign('content',$arr_meta_tags['content']);
$smarty->plugins_dir[] = 'plugins';
$news_tpl = $smarty->fetch("news.tpl");
$smarty->assign('blok_news',$news_tpl);
$tree1_tpl = $smarty->fetch("tree1.tpl");
$smarty->assign('blok_tree',$tree1_tpl);
/*********************** запускаем показ шаблона smarty ************************/
$smarty->display("index.tpl");
?>