如何在PrestaShop中的HelpList类中添加自定义按钮操作?

时间:2017-02-02 08:14:34

标签: prestashop prestashop-1.6

您好我正在为PrestaShop 1.6开发新的付款插件。我通过HelpList类列出了我的插件发出的所有付款请求的功能。有没有办法添加自定义按钮操作和操作mu列表中的每一行?我搜索没有成功的解决方案。

感谢您的帮助!干杯!

这是我的Admin Controler课程。

class AdminNameModuleController extends ModuleAdminController {

public function __construct()
{

    // Call of the parent constructor method
    parent::__construct();


    // Add actions
    //$this->addRowAction('view');
    //$this->addRowAction('delete');
    $this->addRowAction('test');
}

public function initToolbar()
{
    $this->toolbar_btn = array();
}

public function processTest()
{
    // Do your button processing here
}

public function displayTestLink($token = null, $id, $name = null)
{
    $tpl = $this->createTemplate('helpers/list/list_action_test.tpl');

    $tpl->assign(array(
        'href' => self::$currentIndex.'&token='.$this->token.'&
                     '.$this->identifier.'='.$id.'&test'.$this->table.'=1',
            'action' => $this->l('Test')
    ));

    return $tpl->fetch();
}


public function initProcess()
{

    parent::initProcess();

    if (Tools::getValue('test'.$this->table))
    {
        $this->display = 'test';
        $this->action = 'test';
    }

}
}

1 个答案:

答案 0 :(得分:2)

当您定义字段列表数组(可能在构造函数中)时,您也可以添加这样的操作按钮。

$this->addRowAction('mybutton');

如果单击自定义按钮,则需要设置控制器的操作。

public function initProcess()
{
    if (Tools::getIsset('mybutton'.$this->table))
    {
        $this->action = 'mybutton';
    }
    parent::initProcess();
}

最后创建一个处理动作的方法。

public function processMybutton()
{
    // Do your button processing here
}

修改

您说您使用HelperList生成了一个列表,但我没有看到它的任何用法。

Here是如何生成列表的示例。对于列表,您需要定义两件事:tablefields_list属性。如果您希望有操作,请像示例中一样添加它们。然后renderList()方法将为您完成剩下的工作。