2011-07-17 35 views
0

我试图添加一个链接到我的一个块到我的控制器之一的特定动作。浏览课堂文档和使用Google搜索并没有解决一些有用的问题。 (也许我只是使用了错误的搜索查询)。Magento:如何通过代码添加链接到自定义模块的块?

我的控制器有两个动作:

的indexAction()和exportAction()

现在,在我的块之一我魔杖可添加链接exportAction()。我找到了方法addLink(),但这不起作用。

也许任何人都知道该怎么做?或者可以将我指向网络上的正确资源?

问候,亚历克斯

块示例:

<?php 

class Polyvision_Tempest_Block_Adminhtml_View extends Mage_Adminhtml_Block_Template 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
    } 

    protected function _toHtml() 
    { 

    $html = "whatever"; 

     return $html; 
    } 
} 
?> 
+0

什么样的块?你如何实例化它? – clockworkgeek

+0

我已经添加了一个块示例。 – ghostrifle

回答

2

你的问题不明确/完成。

块通过phtml模板或通过PHP代码呈现HTML。要添加HTML链接,你只是呈现一个HTML锚标记带有href

//via PHP 
protected function _toHtml() 
{ 
    $html = '<a href="<?php echo $this->url('frontname/controllername/action/key/value/key/value');?>">My Link</a>'; 
    return $html; 
}  


//via phtml template 

#your block 
class Polyvision_Tempest_Block_Adminhtml_View extends Mage_Adminhtml_Block_Template 
{ 
    protected function _construct() 
    { 
     $this->setTemplate('path/to/from/template/folder/as/basetemplate.phtml'); 
    } 
} 

#your template 
<a href="<?php echo $this->url('frontname/controllername/action/key/value/key/value');?>">My Link</a>'; 

addLink方法只适用于某些类型的块的特殊方法。当您调用它时,会将链接信息添加到块的数据属性。然后,这是_toHtml方法或phtml模板已被编写,使其遍历存储的数据输出链接。它不适用于一般块,这是什么让你的问题混淆。

希望有帮助!

相关问题