皆さんこんにちは!私はまだMagentoに慣れていないので、これについての手がかりを教えていただければ幸いです。
配列で取得した製品のリストを表示しようとしています。で、製品オブジェクトをプッシュMage/Catalog/Block/Product/List.php
する新しい を作成しました( を使用)。Varien_Data_Collection()
->addItem($product)
次に、カスタム コレクションを返すと、List.php
クラスはそれを処理して製品のリストを表示します。
ブラウザでページを呼び出すと、適切な数の製品が表示され、それをクリックして製品ページを表示すると、適切なページが表示されます。
ただし、すべてのデータ (製品名、価格など) は空です。これらのデータをキャッチするために List クラスで使用されるメソッドは、私のVarien_Data_Collection
オブジェクトでは失敗すると思います。
説明するために、ここに私のコードサンプルがあります:
// getting a particular product
$mainProduct = Mage::getModel('catalog/category')->load($currentCat->getId());
$mainProduct = $mainProduct->getProductCollection();
$mainProduct = $mainProduct->addAttributeToFilter('product_id', $_GET['cat_id']);
// creating a custom collection
$myCollection = new Varien_Data_Collection();
foreach ($mainProduct as $product) {
// getting my particular product's related products in an array
$related = $product->getRelatedProductIds();
if ($this->array_contains($related, $_GET['cat_id'])) {
// if it suits me, add it in my custom collection
$myCollection->addItem($product);
}
}
return $myCollection;
そして、これは私のリストページに表示されるものです:
すると、、、などのフィールドが参照されていないvar_dump($myCollection)
ことがわかります。私が気にしない他の多くのフィールドのみ。['name']
['price']
['product_id']
私の究極の質問は、これらの製品データを含むコレクションを List クラスに返すにはどうすればよいですか? 説明が不十分であることは承知していますが、私の英語力は非常に限られているため、最善を尽くそうとしています :(