2012-10-17 132 views
4

我砰的一聲,添加一個簡單,簡單的鏈接到一個網站的自定義列的網格。我使用Inchoo blog爲該列添加了自定義渲染器,並且它可以正常工作。我雖然只是修改渲染和添加標籤就足夠了。但是我的希望破滅了,不起作用。Magento,網格,添加列鏈接到一個網站

如何做到這一點?應該很簡單,但我怎麼也找不到。我在這裏發現了許多問題/答案,但是關於添加產品,類別等的鏈接,沒有提及外部網站,也許我只是在搜索中使用了錯誤的關鍵字。

這裏是我的Grid.php

protected function _prepareColumns() { 
    $blog = Mage::getModel('blogtest/blog'); 

    $this->addColumn('api_blog_url', array(
      'header' => $this->__('URL'), 
      'align' => 'center', 
      'index' => 'api_blog_url', 
      'width' => 50, 
      'type' => 'text', 
      'renderer' => 'Dts_Blogtest_Block_Adminhtml_Blog_Renderer_MyRender' 
    )); 
.... 

的_prepareColumns(),這裏是我的渲染覆蓋該列:

<?php 
class Dts_Blogtest_Block_Adminhtml_Blog_Renderer_MyRender extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract 
{ 
    public function render(Varien_Object $row) 
    { 
     $value = $row->getData($this->getColumn()->getIndex()); 
//  return '<a href="http://'.$value.'>'.$value.'</a>'; 
     return '<span style="color:red;">'.$value.'</span>'; 
    } 
} 
?> 
+0

爲什麼你不能在網格中使用「動作」 – Sandeep

回答

4

你的意思顏色類型Red它正常工作,但如果你取消註釋<a href..>這行不是?

我想你只是錯過了在href屬性中的報價。

return '<a href="http://'.$value.'">'.$value.'</a>'; 
+0

Arrgghhh !!!謝謝...在幾分鐘內我可以接受答案... – Yaroslav

3

順便說一句,我認爲,你可以寫出更漂亮的代碼,如果將使用下一個方法:在渲染功能創建塊和發送的鏈接數據。之後,您爲該塊創建塊和模板。在模板中,您可以獲取鏈接數據並根據需要進行顯示。

欲瞭解更多詳情,請點擊example