本人自写的输出三级分类菜单,多级可复制循环

用于收藏精华贴子、网友共享的资料等。可以回复,不能发新贴。

版主: daimadaquan

版面规则
本版面不能发新贴,可以回复

本人自写的输出三级分类菜单,多级可复制循环

帖子famous1111 » 2011-06-08 11:51

本人自写的输出三级分类菜单,多级可复制循环,可支持鼠标移动再显示下级分类,自己去写css,js,这是本人几天的成果(水平有限 :mrgreen: ),趁中午休息,贴上来给需要的人,文件的路径:includes\templates\yourtamplate\sideboxes\tpl_categories.php:

<?php
/**
* Template designed by 12leaves.com
* 12leaves.com - Free ecommerce templates and design services
*
* Side Box Template
*
* @package templateSystem
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: tpl_categories.php 4162 2006-08-17 03:55:02Z ajeh $
*/

$content = "";

$content .= '<div class="boxContainer200Px">' . "\n".' <div class="leftCategoryMenu leftCategoryMenuWithSubItem" id="menu">'. "\n".'<ul>'. "\n";
//print_r($box_categories_array);
/*if(zen_not_null($current_category_id)) {
$result=mysql_query("SELECT cd.categories_name,c.categories_id FROM categories c left join categories_description cd on c.categories_id = cd.categories_id where c.parent_id = 0 and c.categories_status=1 and c.categories_id = '" . $current_category_id . "' and (not cd.categories_name='') order by c.sort_order");
} else {
$result=mysql_query("SELECT cd.categories_name,c.categories_id FROM categories c left join categories_description cd on c.categories_id = cd.categories_id where c.parent_id = 0 and c.categories_status=1 and (not cd.categories_name='') order by c.sort_order");
}*/
global $db ;
$result=$db->Execute("SELECT cd.categories_name,c.categories_id FROM categories c left join categories_description cd on c.categories_id = cd.categories_id where c.parent_id = 0 and c.categories_status=1 and (not cd.categories_name='') order by c.sort_order");
while(!$result->EOF){
$content.='<li>';
$content.='<h3><a href="'.zen_href_link(FILENAME_DEFAULT, 'cPath='.$result->fields['categories_id']).'" >'.$result->fields['categories_name'].'</a></h3>';
$result1=$db->Execute("SELECT cd.categories_name,c.categories_id FROM categories c left join categories_description cd on c.categories_id = cd.categories_id where c.parent_id = ".$result->fields['categories_id']." and c.categories_status=1 and (not cd.categories_name='') order by c.sort_order");
if($result1->RecordCount() > 0){
$content.=' <ul>';
while(!$result1->EOF){
//$tmp=zen_href_link(FILENAME_DEFAULT, 'cPath='.$result1->fields['categories_id']);
//$tmpa=explode("?", $tmp);
$content.=' <li><h3><a href="'.zen_href_link(FILENAME_DEFAULT, 'cPath='.$result->fields['categories_id'].'_'.$result1->fields['categories_id']).'">'.$result1->fields['categories_name'].'</a></h3>';
$result2=$db->Execute("SELECT cd.categories_name,c.categories_id FROM categories c left join categories_description cd on c.categories_id = cd.categories_id where c.parent_id = ".$result1->fields['categories_id']." and c.categories_status=1 and (not cd.categories_name='') order by c.sort_order");
if($result2->RecordCount() > 0){
$content.='<ul>';
while(!$result2->EOF){
//$tmp=zen_href_link(FILENAME_DEFAULT, 'cPath='.$result2->fields['categories_id']);
// $tmpa=explode("?", $tmp);
$content.=' <li><h3><a href="'.zen_href_link(FILENAME_DEFAULT, 'cPath='.$result->fields['categories_id'].'_'.$result1->fields['categories_id'].'_'.$result2->fields['categories_id']).'">'.$result2->fields['categories_name'].'</a></h3></li>';
$result2->MoveNext();
}//end while
$content.='</ul>';
}// end if
$content.='</li>';
$result1->MoveNext();
} // end while

$content.='</ul>';
}// end if


$content.='</li>';
$result->MoveNext();
}
$content.='</ul>'."\n".'</div>'."\n".'</div>'."\n";

if (SHOW_CATEGORIES_BOX_SPECIALS == 'true' or SHOW_CATEGORIES_BOX_PRODUCTS_NEW == 'true' or SHOW_CATEGORIES_BOX_FEATURED_PRODUCTS == 'true' or SHOW_CATEGORIES_BOX_PRODUCTS_ALL == 'true') {
//------ display a separator between categories and links
if (SHOW_CATEGORIES_SEPARATOR_LINK == '1') {
$content .= '<br>' ;
}
if (SHOW_CATEGORIES_BOX_SPECIALS == 'true') {
$show_this = $db->Execute("select s.products_id from " . TABLE_SPECIALS . " s where s.status= 1 limit 1");
if ($show_this->RecordCount() > 0) {
// $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_SPECIALS,'',"",false) . '">' . CATEGORIES_BOX_HEADING_SPECIALS . '</a>' . '<br />' . "\n";
}
}
if (SHOW_CATEGORIES_BOX_PRODUCTS_NEW == 'true') {
// ---- display limits
//------- $display_limit = zen_get_products_new_timelimit();
$display_limit = zen_get_new_date_range();

$show_this = $db->Execute("select p.products_id
from " . TABLE_PRODUCTS . " p
where p.products_status = 1 " . $display_limit . " limit 1");
if ($show_this->RecordCount() > 0) {
// $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_PRODUCTS_NEW,'',"",false) . '">' . CATEGORIES_BOX_HEADING_WHATS_NEW . '</a>' . '<br />' . "\n";
}
}
if (SHOW_CATEGORIES_BOX_FEATURED_PRODUCTS == 'true') {
$show_this = $db->Execute("select products_id from " . TABLE_FEATURED . " where status= 1 limit 1");
if ($show_this->RecordCount() > 0) {
// $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_FEATURED_PRODUCTS,'',"",false) . '">' . CATEGORIES_BOX_HEADING_FEATURED_PRODUCTS . '</a>' . '<br />' . "\n";
}
}
if (SHOW_CATEGORIES_BOX_PRODUCTS_ALL == 'true') {
// $content .= '<a class="category-links" href="' . zen_href_link(FILENAME_PRODUCTS_ALL,"","",false) . '">' . CATEGORIES_BOX_HEADING_PRODUCTS_ALL . '</a>' . "\n";
}

}

$content .= $priceListOutString;
$content .= '</div>';
?>
famous1111
普通会员
普通会员
 
帖子: 27
注册: 2010-09-14 9:06

Re: 本人自写的输出三级分类菜单,多级可复制循环

帖子famous1111 » 2011-06-08 16:40

没人顶?,自己顶了
famous1111
普通会员
普通会员
 
帖子: 27
注册: 2010-09-14 9:06

Re: 本人自写的输出三级分类菜单,多级可复制循环

帖子kira » 2011-06-08 20:22

顶一下先 支持共享精神
不过 每次都有数据库 查询 可能会对负载有一定的负面影响
头像
kira
VIP会员
VIP会员
 
帖子: 1202
注册: 2010-03-06 11:38
地址: Q群: 110470320, 欢迎被 电 "伤" 着了的同学进来鬼混,妹纸免审优先,发广告的一边儿玩儿去, 博客:http://zcbk.org/
QQ 帐号: 6171718

Re: 本人自写的输出三级分类菜单,多级可复制循环

帖子Jack » 2011-06-08 21:28

多谢分享
头像
Jack
论坛版主
论坛版主
 
帖子: 11665
注册: 2004-12-16 10:04


回到 精华共享

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客