如何在产品页调用当前分类的名称和URL?

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

版主: Jack

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

如何在产品页调用当前分类的名称和URL?

帖子mengpm » 2011-05-17 11:30

如何在产品页调用当前分类的名称和URL?找了一个上午没找到....求高手解答
mengpm
新手上路
新手上路
 
帖子: 11
注册: 2009-06-12 15:14

Re: 如何在产品页调用当前分类的名称和URL?

帖子zhjhqk » 2011-05-17 15:22

seo.url.php文件里应该可以实现吧
zhjhqk
VIP会员
VIP会员
 
帖子: 396
注册: 2010-09-21 10:16

Re: 如何在产品页调用当前分类的名称和URL?

帖子ayinsky » 2011-05-17 17:23

在产品页中,你可以直接调用面包屑导航来显示当前产品所属的分类路径(包含了名称及URL):
$breadcrumb->trail(BREAD_CRUMBS_SEPARATOR)
这样就可以了,一个完整的产品页的包面屑导航

而如果你只需要得到产品所属分类的名称及URL,在includes/functions/functions_lookups.php中,有一个名为:zen_get_categories_name_from_product的方法,可以根据产品的id来获取到产品的分类名称。
而产品所属分类的id,在你产品页的URL中就已经包含有的也就是cPath这个参数中的值。
所以你也可以根据此值来得到分类的URL。zencart的自动加载程序已经帮你获取好了当前分类的id,即变量:$current_category_id,你可以直接用此变量来获取产品所属分类的名称,用方法:zen_get_categories_name($current_category_id)即可(这个方法是获取当前语言下的分类的名称,而如果你想获取不同语言下的分类的名称(多语言网站),则使用:zen_get_category_name($current_category_id,语言id)

至于分类的URL,得到了分类的id后,使用zen_href_link方法就OK了。使用下面的代码:
zen_href_link(FILENAME_DEFAULT,'cPath='.$current_category_id)
就得到了分类的url
ayinsky
普通会员
普通会员
 
帖子: 30
注册: 2010-05-19 10:57

Re: 如何在产品页调用当前分类的名称和URL?

帖子famous1111 » 2011-06-09 15:16

楼上,zen_href_link(FILENAME_DEFAULT,'cPath='.$current_category_id)
这个是不能这样用的,当当前分类是二级或三级以下的分类时,这个获不到父类id,这样就会对该类产生两个地址,cPath=22,和cPath=3_22;
如何才能得到父类的id,我也正在研究,望大家积极发言
famous1111
普通会员
普通会员
 
帖子: 27
注册: 2010-09-14 9:06

Re: 如何在产品页调用当前分类的名称和URL?

帖子famous1111 » 2011-06-09 15:17

希望jack能给出答案
famous1111
普通会员
普通会员
 
帖子: 27
注册: 2010-09-14 9:06

Re: 如何在产品页调用当前分类的名称和URL?

帖子bakoo » 2011-06-10 10:40

famous1111 写道:楼上,zen_href_link(FILENAME_DEFAULT,'cPath='.$current_category_id)
这个是不能这样用的,当当前分类是二级或三级以下的分类时,这个获不到父类id,这样就会对该类产生两个地址,cPath=22,和cPath=3_22;
如何才能得到父类的id,我也正在研究,望大家积极发言

分割字符串?
bakoo
中级会员
中级会员
 
帖子: 67
注册: 2010-07-19 9:59
QQ 帐号: 422045573

Re: 如何在产品页调用当前分类的名称和URL?

帖子isaac.chan » 2011-08-03 20:53

Mark
isaac.chan
新手上路
新手上路
 
帖子: 13
注册: 2010-10-20 17:43

Re: 如何在产品页调用当前分类的名称和URL?

帖子aitd001 » 2012-12-02 22:09

zen_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1))))

这个代码能够获取一级分类代码!
俺的网站: 广播级高清监视器Feiyue Shoes 希望和大家多交流!
aitd001
中级会员
中级会员
 
帖子: 70
注册: 2009-04-28 10:29
地址: 北京市海淀区

Re: 如何在产品页调用当前分类的名称和URL?

帖子aitd001 » 2012-12-02 22:39

Zen Cart调用当前商品所在分类及对应的分类链接,
下面三种写法 任意均可

// 当前分类链接/分类名
<?php echo '<a href="'.zen_href_link(FILENAME_DEFAULT, 'cPath='.zen_get_products_category_id((int)$_GET['products_id'])).'">'
.zen_get_categories_name_from_product((int)$_GET['products_id']).'</a>';?>

// 当前商品名/分类链接
<?php echo '<a href="' . zen_href_link(FILENAME_DEFAULT, 'cPath=' . $_GET['cPath'], 'NONSSL') . '">'.$products_name.'</a>'; ?>

// 当前分类名/分类链接
<?php echo '<a href="' . zen_href_link(FILENAME_DEFAULT, 'cPath=' . $_GET['cPath'], 'NONSSL') . '">'.zen_get_categories_name_from_product((int)$_GET['products_id']).'</a>'; ?>

//当前商品链接/商品名(商品URL包含商品所在分类ID)
<?php echo'<a href="'.
zen_href_link(zen_get_info_page((int)$_GET['products_id']),'cPath='.(int)$_GET['cPath'].'&products_id=' . (int)$_GET['products_id']).">'.$products_name.'</a>'; ?>

//当前商品链接/商品名(商品URL不包含商品所在分类ID)
<?php echo'<a href="'.
zen_href_link(zen_get_info_page($flash_page_items[$i]['products_id']), 'products_id=' . $_GET['products_id']).">'.$products_name.'</a>'; ?>
俺的网站: 广播级高清监视器Feiyue Shoes 希望和大家多交流!
aitd001
中级会员
中级会员
 
帖子: 70
注册: 2009-04-28 10:29
地址: 北京市海淀区


  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 精华共享



在线用户

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