Magento-列出不带foreach的产品集合
我有一个产品集合,里面有6种产品。我需要在没有foreach的情况下列出这些产品,因为每个产品都有不同的布局结构。 我如何称呼foreach之外的每种产品 我的代码是:Magento-列出不带foreach的产品集合,magento,collections,product,Magento,Collections,Product,我有一个产品集合,里面有6种产品。我需要在没有foreach的情况下列出这些产品,因为每个产品都有不同的布局结构。 我如何称呼foreach之外的每种产品 我的代码是: <?php $produtos = array(1115,1105,1019,1017,1013,1011); $_productCollection=$this->getLoadedProductCollection(); $_productCollection = clone $this->g
<?php
$produtos = array(1115,1105,1019,1017,1013,1011);
$_productCollection=$this->getLoadedProductCollection();
$_productCollection = clone $this->getLoadedProductCollection();
$_productCollection->clear()
->addIdFilter($produtos)
->load();
$_helper = $this->helper('catalog/output');
?>
变量$produtos是一个数组,其中包含我希望在集合中使用的产品ID
然后,我需要为每个产品属性设置变量。我是这样做的:
<?php foreach ($_productCollection as $_product): ?>
<?php
if($_product->getId() == $produtos[0]){
$productName1 = $_helper->productAttribute($_product, $_product->getName(), 'name');
$productImage1 = '<img border="0" src=".'echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(143,215);'." />';
$precoCru1 = $_product->getFinalPrice(); $productPrice1 = Mage::helper('core')->currency($precoCru1, true, false);
$productUrl1 = $_product->getProductUrl();
}
elseif($_product->getId() == $produtos[1]){
$productName2 = $_helper->productAttribute($_product, $_product->getName(), 'name');
$productImage2 = '<img border="0" src=".'echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(143,215);'." />';
$precoCru2 = $_product->getFinalPrice(); $productPrice1 = Mage::helper('core')->currency($precoCru1, true, false);
$productUrl2 = $_product->getProductUrl();
}
?>
<?php endforeach; ?>
您不能完全避免使用foreach
,因为这不是编程的工作方式,但请尝试一下
$array = array();
$c=1;
foreach($product_collection as $product)
{
$array['product_'.$c] = $product;
$c++;
}
你可以参考每一种产品
var_dump($array['product_1']->getData());
var_dump($array['product_2']->getData());
如果你真的想把下一个程序员搞糊涂,试试上面的代码,然后这样做
extract($array);
var_dump($product_1->getData());
extract
函数将数组的每个键导出为PHP变量 您不能完全避免使用foreach
,因为这不是编程的工作方式,但请尝试一下
$array = array();
$c=1;
foreach($product_collection as $product)
{
$array['product_'.$c] = $product;
$c++;
}
你可以参考每一种产品
var_dump($array['product_1']->getData());
var_dump($array['product_2']->getData());
如果你真的想把下一个程序员搞糊涂,试试上面的代码,然后这样做
extract($array);
var_dump($product_1->getData());
extract
函数将数组的每个键导出为PHP变量 您不能完全避免使用foreach
,因为这不是编程的工作方式,但请尝试一下
$array = array();
$c=1;
foreach($product_collection as $product)
{
$array['product_'.$c] = $product;
$c++;
}
你可以参考每一种产品
var_dump($array['product_1']->getData());
var_dump($array['product_2']->getData());
如果你真的想把下一个程序员搞糊涂,试试上面的代码,然后这样做
extract($array);
var_dump($product_1->getData());
extract
函数将数组的每个键导出为PHP变量 您不能完全避免使用foreach
,因为这不是编程的工作方式,但请尝试一下
$array = array();
$c=1;
foreach($product_collection as $product)
{
$array['product_'.$c] = $product;
$c++;
}
你可以参考每一种产品
var_dump($array['product_1']->getData());
var_dump($array['product_2']->getData());
如果你真的想把下一个程序员搞糊涂,试试上面的代码,然后这样做
extract($array);
var_dump($product_1->getData());
extract
函数将数组的每个键导出为PHP变量 您可以尝试获取项目,然后将其用作常规数组,并通过其索引引用元素:
$items = $collection->getItems();
$first = $items[0];
$second = $items[1];
或者,如果您只需要第一个:
$first = $collection->getFirstItem();
查看lib/Varien/Data/Collection.php您可以尝试获取项目,然后将其用作常规数组,并通过其索引引用元素:
$items = $collection->getItems();
$first = $items[0];
$second = $items[1];
或者,如果您只需要第一个:
$first = $collection->getFirstItem();
查看lib/Varien/Data/Collection.php您可以尝试获取项目,然后将其用作常规数组,并通过其索引引用元素:
$items = $collection->getItems();
$first = $items[0];
$second = $items[1];
或者,如果您只需要第一个:
$first = $collection->getFirstItem();
查看lib/Varien/Data/Collection.php您可以尝试获取项目,然后将其用作常规数组,并通过其索引引用元素:
$items = $collection->getItems();
$first = $items[0];
$second = $items[1];
或者,如果您只需要第一个:
$first = $collection->getFirstItem();
看看lib/Varien/Data/Collection.phpAlan,谢谢你的回答,但我没能做到。我用更多的信息编辑了我的问题。“你能再帮我一次吗?”保罗读了答案。我们的想法是运行for-each循环并用产品加载一个数组。艾伦,我读了你的答案,但我不知道如何调用产品图像并调整其大小。你能给我举个例子吗?艾伦,谢谢你的回答,但我做不到。我用更多的信息编辑了我的问题。“你能再帮我一次吗?”保罗读了答案。我们的想法是运行for-each循环并用产品加载一个数组。艾伦,我读了你的答案,但我不知道如何调用产品图像并调整其大小。你能给我举个例子吗?艾伦,谢谢你的回答,但我做不到。我用更多的信息编辑了我的问题。“你能再帮我一次吗?”保罗读了答案。我们的想法是运行for-each循环并用产品加载一个数组。艾伦,我读了你的答案,但我不知道如何调用产品图像并调整其大小。你能给我举个例子吗?艾伦,谢谢你的回答,但我做不到。我用更多的信息编辑了我的问题。“你能再帮我一次吗?”保罗读了答案。我们的想法是运行for-each循环并用产品加载一个数组。艾伦,我读了你的答案,但我不知道如何调用产品图像并调整其大小。你能给我举个例子吗?例如,我如何调用产品图像并调整其大小?@Paulo尝试使用缩略图而不是小图像,你的产品可能没有小图像。这就是$src=Mage::helper('catalog/image')->init($_product,'thumbnail')->resize(143215);例如,我如何调用产品图像并调整其大小?@Paulo尝试使用缩略图而不是小图像,您的产品可能没有小图像。这就是$src=Mage::helper('catalog/image')->init($_product,'thumbnail')->resize(143215);例如,我如何调用产品图像并调整其大小?@Paulo尝试使用缩略图而不是小图像,您的产品可能没有小图像。这就是$src=Mage::helper('catalog/image')->init($_product,'thumbnail')->resize(143215);例如,我如何调用产品图像并调整其大小?@Paulo尝试使用缩略图而不是小图像,您的产品可能没有小图像。这就是$src=Mage::helper('catalog/image')->init($_product,'thumbnail')->resize(143215);