对于分组产品,我想显示由其组成的简单产品的链接。例如,如果我有一个名为餐饮套餐的分组产品,包括盘子,刀子,叉子等。我希望每个子产品都有一个链接到该子产品(点击盘子转到简易产品的板材)
<?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
之类的方法(以及它们如何使用)?
答案 0 :(得分:8)
轻松找到所有方法和功能。始终追溯到核心/app/code/core/Mage/Catalog/Model/Product.php
或该文件夹中的任何其他文件。
您的代码非常完美。只需使用
$_item->getUrlPath() ;
而不是productURL
。
答案 1 :(得分:4)
关于获取可用方法/数据的几点说明:
首先,要将所有方法实际编码到类中,您可以使用以下方法获取所有可用的方法:
$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');
答案 2 :(得分:2)
<?php echo $this->htmlEscape($_item->getProductUrl()) ?>
或者这是整个A HREF:
<a href="<?php echo $this->htmlEscape($_item->getProductUrl()) ?>">
<?php echo $this->htmlEscape($_item->getName()) ?>
</a>