Magento-列出不带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

我有一个产品集合,里面有6种产品。我需要在没有foreach的情况下列出这些产品,因为每个产品都有不同的布局结构。 我如何称呼foreach之外的每种产品

我的代码是:

<?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.php

Alan,谢谢你的回答,但我没能做到。我用更多的信息编辑了我的问题。“你能再帮我一次吗?”保罗读了答案。我们的想法是运行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);