你现在的位置:首页 > PHP网站建设知识库 > ZenCart > 正文

如何让zencart的产品页面显示同类产品

首先找到zencart文件,在 includes/templates/你的模板目录/templates/下面创建一个文件 命名为tpl_product_info_similar.php 
 
当然,也可以随便命名,把以下代码复制进去, 
<div class="centerBoxWrapper" id="similar_product"> 
<h2 class="centerBoxHeading">Related Products</h2> 
<ul> 
<?php 
$products_id = (int)$_GET['products_id'];$flash_page_id_con = array(); 
$flash_page_images_con = array(); 
$flash_page_price_con = array(); 
$flash_page_name_con = array(); $flash_page_query = "select  
p.products_id,p.products_image,pd.products_name from " . TABLE_PRODUCTS ." p, ".  
TABLE_PRODUCTS_DESCRIPTION . " pd where p.`products_id`=pd.`products_id` AND  
pd.`language_id` = '" . (int)$_SESSION['languages_id'] . "' AND p.`master_categories_id` =  
" . zen_get_products_category_id($products_id) . " ORDER BY rand() limit 12"; 
$flash_page = $db->Execute($flash_page_query); 
while(!$flash_page->EOF){ 
$flash_page_items[] = $flash_page->fields; 
$flash_page_id_con[] = $flash_page->fields['products_id']; 
$flash_page_images_src = is_int(strpos($flash_page->fields 
['products_image'],','))? substr($flash_page->fields['products_image'],0,strpos 
($flash_page->fields['products_image'],',')):$flash_page->fields['products_image']; 
$flash_page_images_con[] = '"'.(zen_not_null($flash_page->fields 
['products_image']) ? $flash_page_images_src : PRODUCTS_IMAGE_NO_IMAGE ).'"'; 
$flash_page_price_con[] = '"'.$currencies->display_price 
(zen_get_products_base_price($flash_page->fields['products_id']),zen_get_tax_rate 
($product_check->fields['products_tax_class_id'])).'"'; 
$flash_page_name_con[] = '"'.zen_output_string(zen_get_products_name 
($flash_page->fields['products_id'])).'"'; 
$flash_page->MoveNext(); 

$flash_page_id = implode(",", $flash_page_id_con); 
$flash_page_images = implode(",", $flash_page_images_con); 
$flash_page_price = implode(",", $flash_page_price_con) 
$flash_page_name = implode(",", $flash_page_name_con); 
$flash_page_display_num = $flash_page->RecordCount(); 
?> 
<?php for($i = 0; $i< $flash_page_display_num ; $i++){?> 
<li id="li<?php echo $i;?>" style="display:block;float:left;padding- 
left:10px;width:160px; height:160px;"> 
<a href="http://taoge167.blog.163.com/blog/<?php echo zen_href_link(zen_get_info_page($flash_page_items[$i] 
['products_id']), 'products_id=' . $flash_page_items[$i]['products_id']);?>"><?php echo  
zen_image(DIR_WS_IMAGES . $flash_page_items[$i]['products_image'], $flash_page_items[$i] 
['products_name'], IMAGE_FEATURED_PRODUCTS_LISTING_WIDTH,  
IMAGE_FEATURED_PRODUCTS_LISTING_HEIGHT); ?></a><p style="text-align:center;"><a href="http://taoge167.blog.163.com/blog/<?php  
echo zen_href_link(zen_get_info_page($flash_page_items[$i]['products_id']), 'products_id='  
. $flash_page_items[$i]['products_id']);?>"><?php echo $flash_page_items[$i] 
['products_name']; ?></a><br /><strong id="cell_price<?php echo $i?>" class="red"><?php  
echo $currencies->display_price((zen_get_products_base_price($flash_page_items[$i] 
['products_id']) == 0 ? zen_get_products_sample_price($flash_page_items[$i] 
['products_id']): zen_get_products_base_price($flash_page_items[$i] 
['products_id'])),zen_get_tax_rate($product_check->fields['products_tax_class_id'])); ?></strong></p> 
</li> 
<?php 
//print_r($flash_page_items[$i]); 

?> 
</ul> 
</div> 
<div style="clear:both; height:1px;"/> 
然后,在zen-cart模板目录中的includes/templates/你的模板目录/templates/tpl_product_info_display.php 中 修改一些内容 
 
找到 <!–bof also purchased products module–> 
<?php require($template->get_template_dir('tpl_modules_also_purchased_products.php', DIR_WS_TEMPLATE, $current_page_base,'templates'). '/' . 'tpl_modules_also_purchased_products.php');?> 
<!–eof also purchased products module–> 
在他的后面添加 
<!–bof similar products–> 
<?php require($template->get_template_dir('tpl_product_info_similar.php', DIR_WS_TEMPLATE, $current_page_base,'templates'). '/' . 'tpl_product_info_similar.php');?> 
<!–eof similar products–> 
这样,就可以实现在zencart模板中的产品详细页显示同类的产品,以增加搜索引擎收录,有益于zencart的seo优化了。