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

让magento产品详细页随机调用同类产品

首先确定你magento需要放在什么位置,以下代码可以放在view.phtml或者media.phtml里面都可以,别人说可以放在产品详细页的任何地方,反正我是放在view.phtml中的。 路径是:app\design\frontend\default\你的模版\template\catalog\product\view.phtml,直接放在最后。

然后样式自己改,以下代码在里面加了一点样式,懒得去CSS里面加所以就直接写在这里面了。

代码里面   if(sizeof($result) >= 10)

           $ourneed = array_rand($result,10);中的10就是控制调用数量的。

<!–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" style=" margin:0 auto;">

        <ul>

        <?php

        if(sizeof($result) >= 10)

        {

           $ourneed = array_rand($result,10);

           foreach($ourneed as $cc)

            {

             $thisproduct= Mage::getModel('catalog/product')->load($result[$cc]);

             ?>

             <li style=" border:1px solid #ccc; float:left; width:140px; margin:10px 5px 0 0; overflow:hidden;">

            <a href="<?php echo $thisproduct->getProductUrl(); ?>" title="<?php echo $thisproduct->getName(); ?>" ><img src="<?php echo $this->helper('catalog/image')->init($thisproduct, 'small_image')->resize(140) ?>" width="140" height="140" alt="<?php echo $thisproduct->getName(); ?>" /></a>

            <a href="<?php echo $thisproduct->getProductUrl(); ?>" title="<?php echo $thisproduct->getName(); ?>" title="<?php echo $thisproduct->getName(); ?>" ><h3 style=" font:12px/1.55 arial; width:140px; height:4.25em; overflow:hidden;"><?php echo $thisproduct->getName(); ?></h3></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>