二开修改防止更新升级被覆盖的方法!

0

官方客服

官方客服 2017-04-25 19:23:35

如您自行修改过模板或者源码,请尽量避免与官方冲突,以免在更新升级时被覆盖!


模板:

请尽量将默认模板目录另复制一个,如default,复制并命名为mydiy

如果修改过静态文件或css,也可能同时复制一份static/default目录,改成您需要的如:static/mydiy,模板中的路径也要同样改过(一般仅修改头部即可inc-header.htm)。

这样,你只需在后台基本设置中,将模板主题改成mydiy就可以了。

以后官方如更新模板,也只会覆盖原来的default!


代码:

以虚拟交易系统商户版为例,如果想要在列表中调用出商品的分类名称,这就需要修改源码了。

首先在模板中找到需要修改的标签,如首页中的“最新源码”部分,模板中标签是:


{block:list mid="2" cid="0" limit="20" orderby="id" titlenum="30"}

中间内容省略......

{/block}


block:list就是这个标签的命名,它对应的文件在哪呢?

\nzcms\block\kp_block_list.lib.php

如果标签名是block:list_flag,那就要去修改

\nzcms\block\kp_block_list_flag.lib.php

......


当然,如果直接在这个文件上修改,在升级时很有可能会被覆盖掉,那还是和上面一样,复制一个出来再修改
比如在kp_block_list.lib.php的基础上修改,复制一个另命名为:kp_block_diy_list.lib.php

打开这个文件,找到 function kp_block_list,修改为 function kp_block_diy_list

这样,就有了一个新的标签:diy_list

然后您可以在这个文件里大刀阔斧的修改...


找到列表格式化部分,在里面增加读取商家资料(红色部分)

foreach($list_arr as &$v) {
        $run->cms_content->format($v, $mid, $dateformat, $titlenum, $intronum );
        $v['cate_arr'] = $run->category->get_place($v['cid']);
        $v['shop'] = $run->shop->get_by_uid($v['uid']);
        $v['shop']['url'] =  $run->shop->shop_url($v['shop']['sid']);

 }

这样,就可以在模板中调用了,如

<a href="{$v[shop][url]}">{$v[shop][shopname]}</a>



本帖已关闭回复或无回复权限!

本周热贴