1

我无法从数组创建 foreach 请求数据。

从 Magento 请求名称、URL 和图像的示例:

<?php
$cat_id = array(268, 269, 270, 271, 272, 273, 274, 275, 276);
$helper     = Mage::helper('catalog/category');
?>
<div class="main">
<?php foreach ($cat_id as $id):?>
    <div class="category">
       <a href="<?php echo $helper->getCategoryUrl($id); ?>">
        <img src="<?php echo $helper->getThumbnailUrl($id); ?>" title="<?php echo $helper->getName($id); ?>"/>
        <div class="text"><h2><?php echo $helper->getName($id); ?></h2></div>
       </a>
    </div>
<?php endforeach; ?>
</div>

问题是我什么都想不出来,也没有给出错误,如果有人能告诉我出了什么问题,我真的很感激?

Vladimir Boliev 提供的解决方案:

<?php
$cat_id = array(268, 269, 270, 271, 272, 273, 274, 275, 276);
?>
 <div class="main">
 <?php foreach ($cat_id as $id):?>
 <?php  $cur_category = Mage::getModel('catalog/category')->load($id); 
        $url = $cur_category->getUrl();
        $name = $cur_category->getName();
        $img = $cur_category->getThumbnailUrl();
 ?>
   <div class="category">
       <a href="<?php echo $url; ?>">
        <img src="<?php echo $img; ?>" title="<?php echo $name; ?>"/>
        <div class="text"><h2><?php $name; ?></h2></div>
       </a>
    </div>
 <?php endforeach; ?>
 </div>
4

3 回答 3

1

您的数组和 foreach 很好,$helper 对象中的问题。试试这个代码:

<?php
$cat_id = array(268, 269, 270, 271, 272, 273, 274, 275, 276);
?>
 <div class="main">
 <?php foreach ($cat_id as $id):?>
   <div class="category">
       <a href="<?php echo $id; ?>">
        <img src="<?php echo $id; ?>" title="<?php echo $id; ?>"/>
        <div class="text"><h2><?php $id; ?></h2></div>
       </a>
    </div>
 <?php endforeach; ?>
 </div>
于 2013-10-21T11:23:13.743 回答
0

您的 foreach 代码没有任何问题。

我认为可能发生的情况是您正在设置的 id 在此对象$helper上不存在

所以,我建议你看看这个对象是否有东西。利用

var_dump($helper);

看看发生了什么。

于 2013-10-21T11:15:47.847 回答
0
<?php foreach ($cat_id as $id):?>
    <div class="category">
       <a href="<?php echo $helper->getCategoryUrl($id); ?>">
        <img src="<?php echo $helper->getThumbnailUrl($id); ?>" title="<?php echo $helper->getName($id); ?>"/>
        <div class="text"><h2><?php echo $helper->getName($id); ?></h2></div>
       </a>
    </div>
<?php endforeach; ?>

<?php foreach ($cat_id as $id){?>
    <div class="category">
       <a href="<?php echo $helper->getCategoryUrl($id); ?>">
        <img src="<?php echo $helper->getThumbnailUrl($id); ?>" title="<?php echo $helper->getName($id); ?>"/>
        <div class="text"><h2><?php echo $helper->getName($id); ?></h2></div>
       </a>
    </div>
<?php } ?>
于 2013-10-21T11:22:50.763 回答