3

Magento マルチストアをセットアップしたばかりで、これら 3 つのストアの製品をホームページに表示する方法を見つけようとしています。問題は、私のコードが現在のストアからの投稿のみを表示していることです。例: store (1) は store (1) の製品を表示します store (2) は store (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; ?>

ありがとうございます!

4

2 に答える 2

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

すべてのサイトからすべての製品を入手できます。

注: 私のニーズに合わせて編集された単純な list.phtml ファイルである glist.phtml のおかげで、すべての製品が表示されます。

よ!

于 2012-11-28T16:41:58.047 に答える