magento有cross sell和up sell还有相关产品,但是都是需要手动设置的。对于我这样的懒人,懒得设置,并且我的产品相关性没有这么强。所以在产品详细页随机显示一下产品同分类下的其它产品就行了。我google了一把,找到了些代码,做了简单的修改,在magento1.4.1.0中运行没有什么问题。贴出来和大家共享下,还是那句话,css自己改改就可以用了。
如下代码可以放在产品详细页的任何位置,如view.phtml或者media.phtml中。改一改就可以改成随机显示某一个分类下的产品,显示的数量,图片的大小在本代码中都是很容易改的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| <!--for show other product--><?php $categories = $_product->getCategoryIds(); ?> <?php $result = array(); foreach($categories as $cat_id) { $category = Mage::getModel('catalog/category'); $category->load($cat_id); $collection = $category->getProductCollection(); foreach ($collection as $product) { $result[] = $product->getId(); } } ?> <div class="box-others-also-like"> <ul> <?php if(sizeof($result) >= 5) { $ourneed = array_rand($result,5); foreach($ourneed as $cc) { $thisproduct= Mage::getModel('catalog/product')->load($result[$cc]); ?> <li> <a href="<?php echo $thisproduct->getProductUrl(); ?>" title="<?php echo $thisproduct->getName(); ?>" ><img src="<?php echo $this->helper('catalog/image')->init($thisproduct, 'small_image')->resize(200) ?>"width="200" height="200" alt="<?php echo $thisproduct->getName(); ?>" /></a> </li> <?php } ?> <?php }else { foreach($result as $cc) { $thisproduct= Mage::getModel('catalog/product')->load($cc); ?> <li> <a href="<?php echo $thisproduct->getProductUrl(); ?>" title="<?php echo $thisproduct->getName(); ?>" ><img src="<?php echo $this->helper('catalog/image')->init($thisproduct, 'small_image')->resize(200) ?>" width="200" height="200" alt="<?php echo $thisproduct->getName(); ?>" /></a> </li> <?php } } ?> </ul> </div> <!--for show other product--> |
代码也没有好好整理,我懒。想弄的好看点自己格式化下代码,下了个格式化代码的工具,php可以格式化,但是咱magento的php是包含html的,汗,没法用。谁有好的格式化咱magento的phtml代码的工具介绍给我
No comments:
Post a Comment