php smarty 二级分类代码和模版循环例子

2015-01-24信息快讯网

分享下最近写的smarty模版引擎输出二级分类代码,主要是靠二维数组进行控制输出。

二级分类的数据表结构如下:

php smarty 二级分类代码和模版循环例子_信息快讯网

 
PHP代码如下 
/** 
@ 文章分类 含二级分类 
@ param int $rootnum -- 一级分类数量 
@ param int $childnum -- 二级分类数量 
@ 返回值 array 
@ date 2011.2.24 
*/ 
function temp_articletreecate($rootnum,$childnum){ 
if(!isnumber($rootnum)){ 
$rootnum = 10; 
} 
if(!isnumber($childnum)){ 
$childnum = 10; 
} 
$category = array(); 
$parent_sql = "SELECT cateid,catename FROM ".TABLE_PREFIX."articlecate WHERE parentid=0 AND depth=0 AND flag=1 ORDER BY orders ASC"; 
if(intval($rootnum)>0){ 
$parent_sql.=" LIMIT $rootnum"; 
} 
$parent_cate = $GLOBALS['db']->getall($parent_sql); 
foreach($parent_cate as $parent_key => $parent_value){ 
//子类数组名为 childcategory 根据情况自定义名称 
$category[] = array('cateid'=>$parent_value['cateid'],'catename'=>$parent_value['catename'],'childcategory'=>array()); 


//读取子类 
$child_sql = "SELECT cateid,catename FROM ".TABLE_PREFIX."articlecate WHERE parentid=".$parent_value['cateid']." AND flag=1 ORDER BY orders ASC"; 
if(intval($childnum)>0){ 
$child_sql.=" LIMIT $childnum"; 
} 
$child_cate = $GLOBALS['db']->getall($child_sql); 
foreach($child_cate as $child_key => $child_value){ 
$category[count($category)-1]['childcategory'][] = array('cateid'=>$child_value['cateid'],'catename'=>$child_value['catename']); 
} 
} 
return $category; 
} 


PHP页面调用分类,如index.php
$goodscatetree = array();
$goodscatetree = temp_goodstreecate(4,0); //调用分类函数(含二级分类)4--表示一级分类只显示4个,0--表示二级分类不限数量
$tpl>assign("goodscatetree",$goodscatetree); //执行smarty引擎
$tpl->display->(index.tpl); //输出smarty模版页面


TPL模版页面输出分类,如index.tpl页面
{section name=p loop=$goodscatetree}
一级分类:{$goodscatetree[p].catename}
{section name=c loop=$goodscatetree[p].childcategory}
二级分类:{$goodscatetree[p].childcategory[c].catename}
{/section}
{/section}

php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
巧用php中的array_filter()函数去掉多维空值的代码分享
表格展示无限级分类(PHP版)
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Smarty的配置与高级缓存技术分享
openflashchart 2.0 简单案例php版
smarty巧妙处理iframe中内容页的代码
php使用Smarty的相关注意事项及访问变量的几种方式
比较简单实用的PHP无限分类源码分享(思路不错)
PHP 无限分类三种方式 非函数的递归调用!
php smarty 二级分类代码和模版循环例子
php 数组使用详解 推荐
PHP 八种基本的数据类型小结
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
在smarty模板中使用PHP函数的方法
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
php 数组排序 array_multisort与uasort的区别
用php的ob_start来生成静态页面的方法分析
php Smarty 字符比较代码
php实现无限级分类实现代码(递归方法)
smarty模板嵌套之include与fetch性能测试
smarty中先strip_tags过滤html标签后truncate截取文章运用
php递归实现无限分类生成下拉列表的函数
php用数组返回无限分类的列表数据的代码
删除无限分类并同时删除它下面的所有子分类的方法
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
©2014-2024 dbsqp.com