2012-11-26 69 views
3

我剛剛成立了一家Magento多店,我正試圖弄清楚如何在我的主頁上顯示這三家店的產品。問題是我的代碼只顯示當前商店的帖子。 (2)顯示商店的商品(2) 但我並不需要那樣的方式。我需要所有商店的所有產品Magento多店 - 展示所有商店的產品

這是我的代碼,到目前爲止。有人能幫助我嗎?

<?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; ?> 

謝謝你,夥計!

+0

爲什麼不直接刪除'setStoreId'? –

+0

不幸的是有或沒有它是相同的東西...不起作用 –

回答

0

我找到了一種方法讓它工作!

在與magento無關的外部文件中(我把它放在根目錄中) 我打電話給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文件編輯,以適應我的需要。

喲!

0

Magento爲產品使用扁平表,因此每個商店只有針對該商店啓用的產品纔有數據庫表。與這個principe去,它是不可能獲得所有產品使用默認的Magento。

爲了讓您走上正確的軌道:您需要根據catalog_product表(不是平坦的)爲您做出自己的查詢。

相關問題