您好我正在为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';
}
}
}
答案 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是如何生成列表的示例。对于列表,您需要定义两件事:table
和fields_list
属性。如果您希望有操作,请像示例中一样添加它们。然后renderList()
方法将为您完成剩下的工作。