Hook :: exec不适用于特定模块

时间:2016-03-07 10:13:12

标签: prestashop-1.6

我在prestashop应用程序中面临一个关于hook :: exec的问题,其中正确安装了module和hook方法。但是当我尝试执行此模块时,它返回false。请建议我。模块和钩子方法显示在“模块和服务/位置”以及数据库中的ps_hook表中。

模块基本文件定义为:

public function __construct()
{
  $this->name = 'callback';
  $this->tab = 'front_office_features';
  $this->version = '1.0';

  $this->author = 'Amit Jha';
  $this->need_instance = 0;
  $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);

  $this->bootstrap = true;

  parent::__construct();

    $this->displayName = $this->l( 'Call Back' );
    $this->description = $this->l( '....' );
    $this->confirmUninstall = $this->l( 'Are you sure you want to uninstall? .... ' );
}

安装方法如下:

if ( parent::install() && $this->registerHook( 'displayCallBack' ) && $this->registerHook( 'displayHeader' ) && $this->registerHook( 'displayCallBackCart' ) && $this->registerHook( 'displayCallBackLinkOnCartPopup' ) && $this->registerHook( 'displayCallBackLinkOnCartPopupWishlist' ) ) {
    if ( !$this->alterTable( 'add' ) ) {
        return false;
    }
    return true;
}

钩子方法:

public function hookDisplayCallBack( $params )
{
    $results = CallBackServiceCore::searchDetail();

    if ( count( $results ) <= 0 ) {
        return;
    }
    foreach ( $results as $item ) {
        $this->context->smarty->assign( array(
            'description_text' => $item["description_text"],
            'recall_promise' => $item["recall_promise"]
        ) );
    }

    $arrDate = $this->getCallingTime();

    $this->context->smarty->assign( array(
        'arrTimeList' => $arrDate,
        'product_id' => $params["product"]->id,
        'product_name' => $params["product"]->name,
        'category' => $params["product"]->category
      )
    );

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

请说明我弄错了。

0 个答案:

没有答案