zencart默认的产品信息页面可以设置是否显示该产品所在的目录名字,但是有时候我们需要显示该产品所在的目录和所有的父级目录。很多时候这个效果还是比较好的。要实现这个效果的话就得修改代码。
下面就简单的介绍我的实现方法。
首先在includes\modules\category_icon_display.php 文件 大概35行后面原来的代码
$category_icon_display_name = zen_get_categories_name((int)$current_category_id);
$category_icon_display_image = zen_get_categories_image((int)$current_category_id);
修改为
/////////add by www.zencart-bbs.com
$cateIDs=array();///保存目录ID
$cateNames=array();//保存目录名字,key为目录id
$category_icon_display_name = zen_get_categories_name((int)$current_category_id);
$cateNames[(int)$current_category_id]=zen_get_categories_name((int)$current_category_id);
zen_get_parent_categories($cateIDs,(int)$current_category_id);//获取当前目录的所有父级目录
foreach ($cateIDs as $cateid) {
$cateNames[$cateid]=zen_get_categories_name($cateid);
}
///////////
$category_icon_display_image = zen_get_categories_image((int)$current_category_id);
接下来打开includes\templates\你的模板\templates\tpl_modules_category_icon_display.php 文件
将原来的HTML代码修改为如下:(参考)
- <?php echo HEADER_TITLE_CATALOG; ?> › <?php $i=1; foreach (array_reverse($cateNames,TRUE) as $k=>$cate) { if($i++ < count($cateNames)){ echo '
- ' .$cate . ''.' ›'.' '; }else { echo "
- $cate "; } } ?>
实现代码大概就是这样,具体的CSS可以根据自己的需要调整。