Nat*_*han 1 php url product magento
对于分组产品,我想显示由其组成的简单产品的链接.例如,如果我有一个名为Dining Set的分组产品,包括盘子,刀子,叉子等.我希望每个子产品都有一个链接到该子产品(点击板块转到简易产品板材)
<?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; ?>
Run Code Online (Sandbox Code Playgroud)
这是来自groups.phtml文件的代码片段
app/design/frontend/blank/default/template/catalog/product/view/type/grouped.phtml
Run Code Online (Sandbox Code Playgroud)
特别是有的行$_item->getProductUrl(),这不起作用,我不知道获取此关联产品项的URL所需的代码.如果有人可以在这里提供帮助,我将不胜感激.
另外,我在哪里可以找到产品或类别$_item等方法的可用方法(以及它们如何使用)?
轻松找到所有方法和功能.始终追溯到Core /app/code/core/Mage/Catalog/Model/Product.php或该文件夹中的任何其他文件.
你的代码很完美.只是用
$_item->getUrlPath() ;
Run Code Online (Sandbox Code Playgroud)
而不是productURL.
关于获取可用方法/数据的一些注意事项:
首先,要获取实际编码到类中的所有方法,您可以通过以下方式获取所有可用的方法:
$array = get_class_methods($_item); //yields an array of the methods in the class
var_dump($array); // to see the methods
Run Code Online (Sandbox Code Playgroud)
要获取所有与数据相关的方法,首先要找出类中的数据成员。这适用于 Magento 中的大多数对象:
$data = $_item->getData(); // $key => $value array
Run Code Online (Sandbox Code Playgroud)
然后你可以通过两种方式获取你想要的任何数据:
// assuming I want 'my_data'
$data = $_item->getMyData();
$data = $_item->getData('my_data');
Run Code Online (Sandbox Code Playgroud)