Magento: как добавить ссылку через код в блок пользовательского модуля? - PullRequest
0 голосов
/ 17 июля 2011

Я пытаюсь добавить ссылку на один из моих блоков для определенного действия одного из моих контроллеров.Просмотр документации класса и поиск в Google не помогли найти что-то полезное.(возможно, я просто использовал неправильные поисковые запросы).

Мой контроллер имеет два действия:

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;
    }
}
?>

1 Ответ

2 голосов
/ 17 июля 2011

Ваш вопрос не ясен / завершен.

Блок визуализирует HTML либо через шаблон phtml, либо через код PHP. Чтобы добавить 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 шаблон, который был написан так, что он перебирает сохраненные данные для вывода ссылок. Это не относится к общим блокам, что делает ваш вопрос запутанным.

Надеюсь, это поможет!

...