我在管理页面中创建了一个按钮,其中包含以下代码。这是我创建的自定义模块,用于从Prestashop后台执行功能。
public function hookDisplayAdminOrder($params) {
$shipping = 'index.php?controller=AdminShipping&type=refund&id_order='.$params['id_order'].'&token='.Tools::getAdminTokenLite('AdminShipping');
$this->context->smarty->assign(array(
'shipping' => $shipping
));
return $this->display(__FILE__, 'views/templates/admin/link.tpl');
}
按钮显示如下代码:
<div id="Panel" class="panel">
<div class="panel-heading">
<i class="icon-money"></i>
Shipping Charges
</div>
<button type="button" class="btn btn-default" name="submitShipLabel" onclick="window.open('{$shipping}','_blank');">Execute</button>
我的主要目的是在点击按钮时执行一项功能。我很少知道如何放置和调用函数。
非常感谢任何帮助。
谢谢。
答案 0 :(得分:0)
&lt; ...如果我做对了......&gt;
向网址添加自定义处理程序:
$shipping = 'index.php?controller=AdminShipping&type=refund&id_order='.$params['id_order'].'&token='.Tools::getAdminTokenLite('AdminShipping').'&customAction=1';
将控制权提前挂钩:
if (Tools::getIsSet('customAction') {
$this->yourFunction();
}
结果:
public function hookDisplayAdminOrder($params) {
if (Tools::getIsSet('customAction') {
$this->yourFunction();
}
$shipping = 'index.php?controller=AdminShipping&type=refund&id_order='.$params['id_order'].'&token='.Tools::getAdminTokenLite('AdminShipping').'&customAction=1';
$this->context->smarty->assign(array(
'shipping' => $shipping
));
return $this->display(__FILE__, 'views/templates/admin/link.tpl');
}
public function yourFunction()
{
//Do something
}