当前位置: 首页>>代码示例>>PHP>>正文


PHP Hook::isDisplayHookName方法代码示例

本文整理汇总了PHP中Hook::isDisplayHookName方法的典型用法代码示例。如果您正苦于以下问题:PHP Hook::isDisplayHookName方法的具体用法?PHP Hook::isDisplayHookName怎么用?PHP Hook::isDisplayHookName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Hook的用法示例。


在下文中一共展示了Hook::isDisplayHookName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: isHookableOn

 /**
  * Check if the module is transplantable on the hook in parameter
  * @param string $hook_name
  * @return bool if module can be transplanted on hook
  */
 public function isHookableOn($hook_name)
 {
     if ($this instanceof WidgetInterface) {
         return Hook::isDisplayHookName($hook_name);
     }
     $retro_hook_name = Hook::getRetroHookName($hook_name);
     return is_callable(array($this, 'hook' . ucfirst($hook_name))) || is_callable(array($this, 'hook' . ucfirst($retro_hook_name)));
 }
开发者ID:M03G,项目名称:PrestaShop,代码行数:13,代码来源:Module.php

示例2: exec


//.........这里部分代码省略.........
     $context = Context::getContext();
     if (!isset($hook_args['cookie']) || !$hook_args['cookie']) {
         $hook_args['cookie'] = $context->cookie;
     }
     if (!isset($hook_args['cart']) || !$hook_args['cart']) {
         $hook_args['cart'] = $context->cart;
     }
     $retro_hook_name = Hook::getRetroHookName($hook_name);
     // Look on modules list
     $altern = 0;
     if ($array_return) {
         $output = array();
     } else {
         $output = '';
     }
     if ($disable_non_native_modules && !isset(Hook::$native_module)) {
         Hook::$native_module = Module::getNativeModuleList();
     }
     $different_shop = false;
     if ($id_shop !== null && Validate::isUnsignedId($id_shop) && $id_shop != $context->shop->getContextShopID()) {
         $old_context = $context->shop->getContext();
         $old_shop = clone $context->shop;
         $shop = new Shop((int) $id_shop);
         if (Validate::isLoadedObject($shop)) {
             $context->shop = $shop;
             $context->shop->setContext(Shop::CONTEXT_SHOP, $shop->id);
             $different_shop = true;
         }
     }
     foreach ($module_list as $array) {
         // Check errors
         if ($id_module && $id_module != $array['id_module']) {
             continue;
         }
         if ((bool) $disable_non_native_modules && Hook::$native_module && count(Hook::$native_module) && !in_array($array['module'], Hook::$native_module)) {
             continue;
         }
         // Check permissions
         if ($check_exceptions) {
             $exceptions = Module::getExceptionsStatic($array['id_module'], $array['id_hook']);
             $controller = Dispatcher::getInstance()->getController();
             $controller_obj = Context::getContext()->controller;
             //check if current controller is a module controller
             if (isset($controller_obj->module) && Validate::isLoadedObject($controller_obj->module)) {
                 $controller = 'module-' . $controller_obj->module->name . '-' . $controller;
             }
             if (in_array($controller, $exceptions)) {
                 continue;
             }
             //Backward compatibility of controller names
             $matching_name = array('authentication' => 'auth');
             if (isset($matching_name[$controller]) && in_array($matching_name[$controller], $exceptions)) {
                 continue;
             }
             if (Validate::isLoadedObject($context->employee) && !Module::getPermissionStatic($array['id_module'], 'view', $context->employee)) {
                 continue;
             }
         }
         if (!($moduleInstance = Module::getInstanceByName($array['module']))) {
             continue;
         }
         if ($use_push && !$moduleInstance->allow_push) {
             continue;
         }
         // Check which / if method is callable
         $hook_callable = is_callable(array($moduleInstance, 'hook' . $hook_name));
         $hook_retro_callable = is_callable(array($moduleInstance, 'hook' . $retro_hook_name));
         if ($hook_callable || $hook_retro_callable) {
             $hook_args['altern'] = ++$altern;
             if ($use_push && isset($moduleInstance->push_filename) && file_exists($moduleInstance->push_filename)) {
                 Tools::waitUntilFileIsModified($moduleInstance->push_filename, $moduleInstance->push_time_limit);
             }
             // Call hook method
             if ($hook_callable) {
                 $display = Hook::coreCallHook($moduleInstance, 'hook' . $hook_name, $hook_args);
             } elseif ($hook_retro_callable) {
                 $display = Hook::coreCallHook($moduleInstance, 'hook' . $retro_hook_name, $hook_args);
             }
             if ($array_return) {
                 $output[$moduleInstance->name] = $display;
             } else {
                 $output .= $display;
             }
         } elseif (Hook::isDisplayHookName($hook_name)) {
             if ($moduleInstance instanceof WidgetInterface) {
                 $display = Hook::coreRenderWidget($moduleInstance, $hook_name, $hook_args);
                 if ($array_return) {
                     $output[$moduleInstance->name] = $display;
                 } else {
                     $output .= $display;
                 }
             }
         }
     }
     if ($different_shop) {
         $context->shop = $old_shop;
         $context->shop->setContext($old_context, $shop->id);
     }
     return $output;
 }
开发者ID:M03G,项目名称:PrestaShop,代码行数:101,代码来源:Hook.php


注:本文中的Hook::isDisplayHookName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。