Magento多店 - 展示所有商店的产品

时间:2012-11-26 15:04:21

标签: php magento

我刚刚建立了一个Magento多店,我正在试图弄清楚如何在我的主页上展示这三家商店的产品。问题是我的代码只显示当前商店的帖子。 ex:商店(1)显示商店的产品(1)     商店(2)显示商店的产品(2) 但我不需要这样。我需要所有商店的所有产品

到目前为止,这是我的代码。有人能帮助我吗?

<?php 
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->setVisibility(array(2,3,4))                   
->setOrder('created_at', 'desc')
->setPage(1, 20)
->setStoreId('1');
?>

<?php foreach($_productCollection as $_product) : ?>

<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(250, 150); ?>" alt="" />
<a href="<?php echo $_product->getProductUrl(); ?>"> <?php echo $_product->getName(); ?> </a>
<div class="grddescription"><?php echo $_product->getDescription(); ?>

<?php endforeach; ?>
谢谢你,伙计!

2 个答案:

答案 0 :(得分:0)

Magento为产品使用平面表,因此每个商店都有一个数据库表,只有为该商店启用的产品。使用此原理,无法使用默认的Magento获取所有产品。

为了让您走上正轨:您需要根据catalog_product表(不是平面)自行创建查询。

答案 1 :(得分:0)

我找到了让它运转的方法!

在一个与magento无关的外部文件中(我把它放在root中) 我打电话给magento(在外面,所以我能够使用它的所有功能,而不必担心限制),像这样;

<?php 
    define('MAGENTOO', realpath('/var/wwweb/magento/'));
    require_once(MAGENTOO . '/app/Mage.php');
    $app = Mage::app();
?>

而不是这个;

<?php
    $products = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('status', 1);

    $block = Mage::getSingleton('core/layout')->createBlock('catalog/product_list')
    ->setTemplate('/catalog/product/glist.phtml')
    ->setCollection($products);

    echo $block->toHtml();
?>

我能够从所有网站获得所有产品!

注意:感谢glist.phtml显示所有产品,这是一个简单的list.phtml文件,可以根据我的需要进行编辑。

哟!