ECOS百科全书|高级搜索|RSS订阅|加入收藏|服务中心|联系我们欢迎您光临!

ECStore二次开发模式原理揭秘

来源:清风创科 发布时间:2014-10-24 07:57 字体:【   点击

CUSTOM_CORE模式,是ECStore在 底层autoload 开放的一种最直接的拦截入口。

当开启CUSTOM_CORE模式后,整个ECStore系统在底层autoload 类文件、资源文件、view页面时,将优先从CUSTOM_CORE定义目录寻找。从而达到覆盖定义的目的。

例如autoload 加载某个控制器时的底层代码:

if(defined('CUSTOM_CORE_DIR') && file_exists(CUSTOM_CORE_DIR.'/'.$owner.'/controller/'.str_replace('_','/',substr($class_name,4)).'.php')){
    $path = CUSTOM_CORE_DIR.'/'.$owner.'/controller/'.str_replace('_','/',substr($class_name,4)).'.php';
}else{
     $path = APP_DIR.'/'.$owner.'/controller/'.str_replace('_','/',substr($class_name,4)).'.php';
}

如何开启CUSTOM_CORE模式

  • 在ECStore config.php 中定义CUSTOM_CORE_DIR目录即可
    如把CUSTOM_CORE_DIR定义在ECStore根目录下的custom文件夹:

    define('ROOT_DIR',realpath(dirname(__FILE__).'/../'));
    define('CUSTOM_CORE_DIR',ROOT_DIR.'/custom');


  • 在custom 文件夹放置需要拦截的目标控制器、模型、lib 、view即可。放置时,相对路径保持一致。
    比如我需要拦截app/b2c/controller/site/brand.php 这个控制器。
    那么只需在custom 文件夹中放置b2c/controller/site/brand.php  文件夹结构和文件即可。


------分隔线--------

关键词:ecstore二次开发原理

转载请保留:http://www.hnqss.cn/html/jszx/ecstore/article-1924.html

------分隔线--------
尚未注册畅言帐号,请到后台注册