无法在Prestashop中调用模板文件中的挂钩

时间:2014-03-31 20:27:35

标签: php prestashop prestashop-1.6

我正在尝试从模板文件中调用我的自定义挂钩。我已经在ps_hook表中插入了钩子。我创建了一个模块并将其链接到钩子。我还使用模块将模块移植到钩子上 - >位置 - >移植模块。

这是mymodule.php文件。

  <?php
 if (!defined('_PS_VERSION_'))
exit;

class MyModule extends Module
{
public function __construct()
{
$this->name = 'mymodule';
$this->tab = 'front_office_features';
$this->version = 1.0;
$this->author = 'Sarfaraz Raj';
$this->need_instance = 0;

parent::__construct();

$this->displayName = $this->l('My module');
$this->description = $this->l('Description of my module.');

}

public function install()
{
if (parent::install() == false OR !$this->registerHook('displayDateSlot'))
return false;
return true;
}
public function hookDisplayDateSlot( $params )
{
 //global $smarty;
$this->context->smarty->assign(
    array(
       // 'my_module_name' => Configuration::get('MYMODULE_NAME'),
       // 'my_module_link' => $this->context->link->getModuleLink('mymodule', 'display'),
        'my_module_message' => $this->l('This is a simple text message'), 
        'HOOK_DISPLAY_DATESLOT' =>  Hook::exec('displayDateSlot')
    )
);

  return $this->display(__FILE__,'mymodule.tpl');
}


public function hookRightColumn($params)
{
 return $this->hookDisplayDateSlot($params);
}
 }
 ?>

我只想知道我应该在哪里声明&#39; HOOK_DISPLAY_DATESLOT&#39; =&GT; Hook :: exec(&#39; displayDateSlot&#39;)行。我的钩子的名字是displayDateSlot。

1 个答案:

答案 0 :(得分:0)

无需再写一次 'HOOK_DISPLAY_DATESLOT'=&gt;钩:: EXEC( 'displayDateSlot')

您的挂钩已建立,您可以通过管理员端安装它并查看正面的外观。