用过DESTOON程序的站长都知道,商铺上的信息排序都是写死在程序或模板中的,用户无法自己设置信息排序,今天就遇到了一个站长的用户客户的需求,要求他的商铺上的信息可以自己设置更新时间或者添加时间排序,所以小黑就出一个实用的开发教程
程序文件修改
1、修改程序文件module/company/init.inc.php,找大约280行 的$kf = isset($HOME['kf']) ? $HOME['kf'] : ''; 在下面加一行写入代码
$sporder = isset($HOME['sporder']) ? $HOME['sporder'] : 'edittime desc'; //mbkfw.com
如图:
2、继续修改程序文件module/company/homepage.inc.php,找大约4行 的$head_title = ''; 在下面加一行写入代码
$sporder = (isset($HOME['sporder']) && $HOME['sporder']) ? $HOME['sporder'] : 'edittime desc'; //mbkfw.com
如图:
3、继续修改程序文件module/company/sell.inc.php,找大约90行 的$order = 'edittime DESC'; 在下面加一行写入代码(商铺信息我们以供应模块为例,其他模块的按同样的方法去改)
$order = $sporder ? $sporder : 'edittime DESC'; //mbkfw.com
如图:
4、继续修改程序文件module/member/home.inc.php,找大约131行 的isset($HOME['seo_description']) or $seo_description = ''; 在下面加一行写入代码
isset($HOME['sporder']) or $sporder = 'edittime desc'; //mbkfw.com
如图:
程序部分我们就开发好了,接着我们就去开发会员中心的功能
模板部分
1、会员中心的修改,找到template/default/member/home.htm (这里我们以默认模板为例),大约172行 的</table>,在上面加入以下代码
<tr> <td class="tl">商铺信息排序</td> <td class="tr"> <input type="text" name="setting[sporder]" id="sporder" value="{$sporder}"> <select onchange="if(this.value) Dd('sporder').value=this.value;"> <option value="">请选择</option> <option value="edittime desc"{if $sporder=='edittime desc'} selected=""{/if}>更新时间</option> <option value="addtime desc"{if $sporder=='addtime desc'} selected=""{/if}>添加时间</option> <option value="itemid desc"{if $sporder=='itemide desc'} selected=""{/if}>信息ID</option> </select> <span class="f_gray">请勿随意填写,选择后保存即可。</span> </td> </tr>
如图:
2、接着修改商铺模板,找到template/default/homepage/main_sell.htm (这里我们以默认模板为例),大约5行 的&order=edittime desc,把整行的标签代码改成以下代码
<!--{php $tags=tag("moduleid=$mid&condition=status>2 and username='$username'&pagesize=".$mv['pagesize']."&order=$sporder&fields=itemid,title,linkurl,thumb,addtime,edittime,price,orders,messages&template=null");}-->
实际上就是 &order=edittime desc 改成了 &order=$sporder 和 thumb,edittime 中间 加了个 ,addtime
如图:
好了,整体的代码修改和开发就完成了,在会员中心的展示在 商户后台 - 商铺设置 里,如图