Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
<?php
function smarty_function_newtree($params, &$smarty){
$disp='';
$disp.='<ul id="navmenu-v">';
$sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent=1 order by sort_order,name';
if($r=mysql_query($sql))
while($res=mysql_fetch_assoc($r)){
$disp.='<li class="parent';
if($_REQUEST['categoryID'] == $res['categoryID']) $disp.='_current';
if($res['slug']!='')
$disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>';
else
$disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>';
$disp.=subcat($res['categoryID']).'</li>';
}
$disp.='</ul>';
return $disp;
}
function subcat($parid){
$disp='';
$sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent='.$parid.' order by sort_order, name';
if($r=mysql_query($sql)){
if(mysql_num_rows($r)>0){
$disp.='<ul>';
while($res=mysql_fetch_assoc($r)){
$disp.='<li class="child';
if($_REQUEST['categoryID'] == $res['categoryID']) $disp.='_current';
if($res['slug']!='')
$disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>';
else
$disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>';
$disp.=subcat($res['categoryID']).'</li>';;
}
$disp.='</ul>';
}
}
return $disp;
}
?>
Данный способ развернул мне все категории,как развернуть только первый уровень,при этом чтобы и другие открывались в обычном режиме?Удаляем все из файла category_tree.html и пишем там {newtree}
В папке /kernel/includes/smarty/plugins создаем файл function.newtree.php, в котором пишем:
Код:<?php function smarty_function_newtree($params, &$smarty){ $disp=''; $disp.='<ul id="navmenu-v">'; $sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent=1 order by sort_order,name'; if($r=mysql_query($sql)) while($res=mysql_fetch_assoc($r)){ $disp.='<li class="parent'; if($_REQUEST['categoryID'] == $res['categoryID']) $disp.='_current'; if($res['slug']!='') $disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>'; else $disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>'; $disp.=subcat($res['categoryID']).'</li>'; } $disp.='</ul>'; return $disp; } function subcat($parid){ $disp=''; $sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent='.$parid.' order by sort_order, name'; if($r=mysql_query($sql)){ if(mysql_num_rows($r)>0){ $disp.='<ul>'; while($res=mysql_fetch_assoc($r)){ $disp.='<li class="child'; if($_REQUEST['categoryID'] == $res['categoryID']) $disp.='_current'; if($res['slug']!='') $disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>'; else $disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>'; $disp.=subcat($res['categoryID']).'</li>';; } $disp.='</ul>'; } } return $disp; } ?>
<?php
function smarty_function_newtree($params, &$smarty){
$disp='';
$disp.='<ul>';
$sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent=1 order by sort_order,name';
if($r=mysql_query($sql))
while($res=mysql_fetch_assoc($r)){
$disp.='<li class="parent';
if($_GET['categoryID'] == $res['categoryID']) $disp.='_current';
if($res['slug']!='')
$disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>';
else
$disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>';
$disp.=subcat($res['categoryID']).'</li>';
}
$disp.='</ul>';
return $disp;
}
function subcat($parid){
$disp='';
$sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent='.$parid.' order by sort_order, name';
if($r=mysql_query($sql)){
$disp.='<ul style="padding-left:25px">';
while($res=mysql_fetch_assoc($r)){
$disp.='<li class="child';
if($_GET['categoryID'] == $res['categoryID']) $disp.='_current';
if($res['slug']!='')
$disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>';
else
$disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>';
$disp.=subcatt($res['categoryID']).'</li>';
}
$disp.='</ul>';
}
return $disp;
}
function subcatt($parid){
$sql2='select parent from SC_categories where categoryID='.$_GET['categoryID'];
if($r2=mysql_query($sql2)){
$res2=mysql_fetch_assoc($r2);
$disp='';
$sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent='.$parid.' order by sort_order, name';
if($r=mysql_query($sql)){
$disp.='<ul style="padding-left:25px">';
while($res=mysql_fetch_assoc($r)){
if($res2['parent']==$parid || $_GET['categoryID'] == $res['parent'] ) {
$disp.='<li class="children';
if($_GET['categoryID'] == $res['categoryID']) $disp.='_current';
if($res['slug']!='')
$disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>';
else
$disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>';
$disp.=subcatt($res['categoryID']).'</li>';
}
}
$disp.='</ul>';
}
return $disp;
}}
?>
function subcatt($parid){
$sql2='select parent from SC_categories where categoryID='.$_GET['categoryID'];
if($r2=mysql_query($sql2)){
$res2=mysql_fetch_assoc($r2);
$disp='';
$sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent='.$parid.' order by sort_order, name';
if($r=mysql_query($sql)){
$disp.='<ul style="padding-left:25px">';
while($res=mysql_fetch_assoc($r)){
if($res2['parent']==$parid || $_GET['categoryID'] == $res['parent'] ) {
$disp.='<li class="children';
if($_GET['categoryID'] == $res['categoryID']) $disp.='_current';
if($res['slug']!='')
$disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>';
else
$disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>';
$disp.=subcatt($res['categoryID']).'</li>';
}
}
$disp.='</ul>';
}
return $disp;
}
"Как развернуть дерево категорий webasyst на один уровень,при стандартном выводе дерева категорий webasyst, т.е.чтобы все главные родительские категории первого уровня были развернуты,ну а их подкатегории были свернуты?"Вас не поймешь. Изначально вам требовалось развернуть только родительские категории, а теперь уже надо развернуть все категории. Выше мной указанный способ разворачивает абсолютно все категории которые есть в магазине
Отличное меню. Еще бы прикрутить к нему... если в категории нет товара для отображения, этот пункт меню не отображался.Удаляем все из файла category_tree.html и пишем там {newtree}
В папке /kernel/includes/smarty/plugins создаем файл function.newtree.php, в котором пишем:
Код:<?php function smarty_function_newtree($params, &$smarty){ $disp=''; $disp.='<ul id="navmenu-v">'; $sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent=1 order by sort_order,name'; if($r=mysql_query($sql)) while($res=mysql_fetch_assoc($r)){ $disp.='<li class="parent'; if($_REQUEST['categoryID'] == $res['categoryID']) $disp.='_current'; if($res['slug']!='') $disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>'; else $disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>'; $disp.=subcat($res['categoryID']).'</li>'; } $disp.='</ul>'; return $disp; } function subcat($parid){ $disp=''; $sql='SELECT categoryID, slug, parent, '.LanguagesManager::sql_prepareField('name').' AS name from '.CATEGORIES_TABLE. ' where parent='.$parid.' order by sort_order, name'; if($r=mysql_query($sql)){ if(mysql_num_rows($r)>0){ $disp.='<ul>'; while($res=mysql_fetch_assoc($r)){ $disp.='<li class="child'; if($_REQUEST['categoryID'] == $res['categoryID']) $disp.='_current'; if($res['slug']!='') $disp.='"><a href="/category/'.$res['slug'].'/">'.$res['name'].'</a>'; else $disp.='"><a href="?categoryID='.$res['categoryID'].'">'.$res['name'].'</a>'; $disp.=subcat($res['categoryID']).'</li>';; } $disp.='</ul>'; } } return $disp; } ?>