马根托:获取分组产品中产品的产品 URL
题
对于分组产品,我想显示其组成的简单产品的链接。例如,如果我有一个名为“餐饮套装”的分组产品,由盘子、刀子、叉子等组成。我希望每个子产品都有一个指向该子产品的链接(点击板块转到板块的简单产品)
<?php foreach ($_associatedProducts as $_item): ?>
<tr>
<td><?php echo $this->htmlEscape($_item->getName()) ?></td>
<td class="a-right">
<?php echo $this->getPriceHtml($_item, true) ?>
</td>
<?php if ($_product->isSaleable()): ?>
<td class="a-center">
<?php if ($_item->isSaleable()) : ?>
<a href="<?php $_item->getProductUrl() ?>">View</a>
<?php else: ?>
<p class="availability"><span class="out-of-stock"><?php echo $this->__('Out of stock.') ?></span></p>
<?php endif; ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
这是来自 grouped.phtml 文件的代码片段
app/design/frontend/blank/default/template/catalog/product/view/type/grouped.phtml
特别是具有 $_item->getProductUrl()
,这是行不通的,我不知道获得此相关产品项目的URL所需的代码。如果有人可以在这里提供帮助,我们将不胜感激。
另外,我到底在哪里可以找到该方法可用于产品或类别或 $_item
等等?
解决方案
很容易找到的所有方法和功能。一直追溯到核心/app/code/core/Mage/Catalog/Model/Product.php
或任何在该文件夹的其他文件。
您的代码是完美的。只要使用
$_item->getUrlPath() ;
代替productURL
。
其他提示
刚上获取可用的方法/数据的几点注意事项:
第一,得到实际编码到类的所有方法,你可以得到所有可用的方法有:
$array = get_class_methods($_item); //yields an array of the methods in the class
var_dump($array); // to see the methods
要得到所有数据相关的方法,先找出在类的数据成员。这适用于大多数对象在Magento:
$data = $_item->getData(); // $key => $value array
然后你就可以得到任何数据你想有两种方式:
// assuming I want 'my_data'
$data = $_item->getMyData();
$data = $_item->getData('my_data');
<?php echo $this->htmlEscape($_item->getProductUrl()) ?>
或者这里是整个 A HREF:
<a href="<?php echo $this->htmlEscape($_item->getProductUrl()) ?>">
<?php echo $this->htmlEscape($_item->getName()) ?>
</a>
不隶属于 StackOverflow