shopex二次开发中常遇到的操作
2024-07-09 22:58:11
供稿:网友
一、在进行二次开发之前,我们定义自己的功能模块,就得自定义工作目录,以避免,操作如下:
1、首先将根目录下面的core文件复制到网站根目录下,将该目录名称改为你的工作目录名称。
2、在网站根目录下的/config/config.php文件中的末尾添加define(define('CUSTOM_CORE_DIR', BASE_DIR.'/这里写上你的工作目录名称');
)
二、对shopex进行二次开发,大部分情况下都是添加或者修改挂件的操作,定义挂件的步骤如下:
1、在网站根目录下的/plugins/widgets创建一个你的挂件文件夹,你创建的文件夹下面必须要有widgets.php(widget定义信息文件,必须的)、default.html(挂件的前台显示界面模板,必须的)、_config.html(挂件的配置界面模板)、widget_挂件名.php(挂件的入口程序文件)、widget_cfg_挂件名.php(挂件配置程序文件)。
2、在widgets.php这个文件里面必须要有的$setting['author'] 、$setting['version']、 $setting['name']、$setting['catalog']、$setting['description'] 、$setting['template']这些字段的定义。
三、因为shopex本身自带的model操作的一些方法被加密了,就算没有加密的但在实际应用情况下还是不适合,这种情况下我们就必须自己定义一些model操作类来满足开发要求。
1、在自定义的工作目录下有个model文件夹,你可以选择已有的model模块文件夹,也可以创建一个,然后再这个文件里面创建你的model操作类文件,文件命名规则为cmd.操作的表名称(也可以为其他名称).php,里面的类名称就为cmd_对应的文件名称的那部分,这个类可以继承系统的core目录下对应的类如 class cmd_gift extends mdl_gift{} 或者如cmd_gift extends shopObject{}之类的。
四、有时在写挂件中要获得系统的一些配置信息,如可以这样$system->getConf('gallery.default_view');获得系统在后台设定的在显示列表页的模式,从而好进行一些特定的操作。
五、在列表页或者商品搜索结果显示页中会用到分类效果,简单说下实现分页的步骤:
1、在php中加载模板变量的时候:
$this->pagedata['pager'] = array(
' current'=>$page, //加载当前的页码
'total'=>ceil($giftCount/$pageLimit), //加载现实的总页数
'link'=>$this->system->mkUrl('gift','showList',array($catId,$min,$max,$periods) //带上保持当前这种分页条件的一些详细参数,第一个参数是控制器名称,第二个是该控制器下的方法名称
)
);
2、 在模板中使用的使用如下:
将 <{pager data=$pager}> 放到需要使用的地方
六、清除系统的缓存
1、关闭系统后台的缓存:
在网站根目录下/config/config.php文件中找到define('CACHE_METHOD','secache');将其注释,再在后面添加define ('WITHOUT_CACHE',true);
2、还有删除系统的缓存,在网站根目录下的/home/cache/front_tmpl以及/home/cache/admin_tmpl文件里面的文件全部删除掉,还有cache文件夹下的除admin_tmpl、front_tmpl这两个文件夹的其他文件都删除掉。