我正在为Prestashop创建一个新插件。插件已激活,工作正常,除了我无法进入Prestashop产品管理员(后台)中的特定区域。
我正在使用此钩子:DisplayAdminProductsMainStepLeftColumnMiddle。 我可以看到它被放置在prestashop的模板化树枝引擎中,并且我正像下面那样使用它,但是内容根本没有显示。
奇怪的是,我可以轻松地挂接,即钩住AdminOrder,没问题,但不挂接DisplayAdminProductsMainStepLeftColumnMiddle。
class my_module extends Module
{
public function __construct()
{
$this->name = "my_module";
$this->tab = 'front_office_features';
$this->version = '1.0.0';
$this->author = 'my_author';
$this->need_instance = 1;
$this->ps_versions_compliancy = [
'min' => '1.6',
'max' => _PS_VERSION_,
];
$this->bootstrap = true;
parent::__construct();
$this->displayName = $this->l('my_module');
$this->description = $this->l('my_module');
$this->confirmUninstall = $this->l('You are about to uninstall Product addons. Wish to continue?');
}
public function install()
{
return
parent::install()
&& $this->registerHook('displayAdminProductsMainStepLeftColumnMiddle')
&& $this->registerHook('adminOrder');
}
public function uninstall()
{
return parent::uninstall();
}
public function HookDisplayAdminProductsMainStepLeftColumnMiddle() //No content is being displayed in the productpage backoffice
{
echo 'Content in hook';
}
public function HookAdminOrder() //This hook works perfectly fine
{
echo 'Content in hook';
}
}
答案 0 :(得分:1)
使用return
代替echo
,它将起作用
public function hookDisplayAdminProductsMainStepLeftColumnMiddle()
{
return 'Content in hook';
}
并且不要忘记首先重置模块以注册钩子
答案 1 :(得分:0)
我后来发现在安装函数中显式注册钩子(尤其是后端钩子)是很明显的。我只是将钩子注册到构造函数中以进行测试(前端钩子总是对我有用)。
因此,我将钩子放入安装程序功能中,重新激活该模块,然后它开始工作。
希望这可以帮助某人=)