2009-12-22 170 views
1

對於分組產品,我想顯示它所組成的簡單產品的鏈接。例如,如果我有一個名爲Dining Set的分組產品,它由盤子,刀子,叉子等組成,我希望每個子產品都有一個與該子產品的鏈接(點擊標籤轉到用於印版的簡單產品)Magento:在分組產品中獲取產品網址

<?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()這不起作用行, ,我不知道,以獲得所需的代碼此相關產品項目的網址。如果有人可以在這裏幫助,將不勝感激。

此外,我在哪裏可以找到該方法可用(以及它們如何使用)的產品或類別或$_item等?

回答

7

很容易找到所有的方法和功能。始終追溯至Core /app/code/core/Mage/Catalog/Model/Product.php或該文件夾中的任何其他文件。

你的代碼是完美的。只需使用

$_item->getUrlPath() ; 

而不是productURL

+0

大多數時候你可以猜測...... 我創建了新的屬性,如完成,尺寸,lead_time等在循環內,調用getData('lead_tim電子'),它只是工作!輝煌的ORM! – 2009-12-23 02:49:25

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
<?php echo $this->htmlEscape($_item->getProductUrl()) ?> 

或這裏是整個A HREF:

<a href="<?php echo $this->htmlEscape($_item->getProductUrl()) ?>"> 
      <?php echo $this->htmlEscape($_item->getName()) ?> 
</a>