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