ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
我个人进行归类 数据展示分为2大类 一个是聚合页 一个是店铺类。 店铺 名片 微商之类的都可以归类为店铺类。 圈子数据聚合 专题类的都可以归类为数据整合。 所以花了点时间做了2个类别的模板(时间关系只做了电脑版)。现在一个一个进行讲解步骤比较详细篇幅比较长,没有耐心的可以直接关闭了。 [https://b.qibo168.com/qun/show-1.html](https://b.qibo168.com/qun/show-1.html) 先看这个地址,店铺类的。先从数据整合开始讲起。 既然要进行数据整合就需要我们做接口,数据接口异步:[](http://help.php168.com/1124057/1121873)[https://www.kancloud.cn/php168/x1\_of\_qibo/1122037](https://www.kancloud.cn/php168/x1_of_qibo/1122037) ## **第一步 ** 在我们的 application\mall\index 目录下创建一个 Qun.php ~~~ <?php namespace app\mall\index; use app\common\controller\IndexBase; use app\mall\model\Content as ContentModel; class Qun extends IndexBase{ /**  * 关于我们  * @param array $info  * @return array  */ public function abouts($info=[]){ return $info; } /**  * 联系我们  * @param array $info  * @return array  */ public function contact($info=[]){ return $info; } /**  * 商品数据  * @param array $info  * @return array  * @throws \think\exception\DbException  */ public function lists($info=[]){ $fid=input('fid');  省略代码 return $vars; }   } ~~~ 代码看完了 是不是很奇怪都是 $info 因为数据接口只有这一个参数 $info就是圈子的详细信息。 所以可以根据这个特性进行 关于我们 联系我们 等等进行归类加入导航中。至于模板怎么加一会下面会有解释, 只有 function lists 才是我们的数据接口,这里你可以对你的数据库进行读取最后输出数组即可,**记住qun.php 都是返回数组不是输出模板 ** 如果我们自己的参数怎么办呢 有办法的用 $fid=input('fid'); 进行获取` $mid=input('mid');`等等 url哪里可以用` {:url('mall/lists',['aid'=>$id,'fid'=>2,'mid'=>3])}`   等等 可以加很多参数 能满足98%的业务需求。 关于上面php不多介绍了看懂了就是懂了 不懂也没关系 基于官方模块的都不需要写这个文件的内容 只要放进去一个空的这个文件就可以了。因为我的商城不是基于官方的模型制作的比较特殊一点需要接口。 ## 1**第二步就是模板文件的创建了** 至于模板的文件的创建官方给了2个大方法 N个小方法 第一个大方法就是在自己模块模板下创建一个qun文件夹进行模板的编写 教程地址:[https://www.kancloud.cn/php168/x1_of_qibo/1121873](https://www.kancloud.cn/php168/x1_of_qibo/1121873)  第二个大方法就是 template\\qun\_style 里面创建文件夹的方式进行编写  教程地址:[https://www.kancloud.cn/php168/x1_of_qibo/1122260](https://www.kancloud.cn/php168/x1_of_qibo/1122260)  这样归类梳理下就很清晰了,怕麻烦就用第二个办法 缺点是只能你这个模板调用 不怕麻烦就第一个办法所有的模板都可以调用。 我们采用的是第二个方法,先看下目录结构: ![](https://img.kancloud.cn/3f/94/3f94501d3a8332168ac93b2acefbc97b_256x275.png) content 为固定的圈子首页模板 mall 为我们的模块接口模板文件 info.php 模板配置文件 pc_layout.htm 布局文件 **wap_layout.htm 手机版布局文件(暂时没做)以后的手机版都要加上wap_ 即可下面不在重复说了。** 先从 info.php 模板配置文件 说起: ~~~ <?php  return [ 'name'=>'sfmall风格',         'sort'=>'商城专用', 'type'=>'sfmall', //关键字,可为空 'money'=>0,//收费金额 ]; ~~~ 和原来的圈子风格对比就多了一项 type 参数,这里的参数作用是十分巨大的,你可以编辑下圈子的模型 会发现多了一堆的配置项 其他项目都好说 关键字这项就是和这里进行关联的,如下图: ![](https://img.kancloud.cn/a2/db/a2db3c2b297659fec245b0a36b836229_838x500.png) 设置了关键词后 用户选择模板的时候就只能选择 type 设置了 sfmall 的模板和没有设置type参数的模板。 如果你在应用市场下载的模板就可以在后台配置这个参数(待升级后解决)进行模板归类,不会出现以前的那种模板混杂在一起不知道如何选的问题。当然了如果你想体验本模板就需要把圈子模型这里设置为 sfmall 并安装了商城才行。 pc\_layout.htm 和我们主站编写没区别 该怎么写就怎么写,这里重点说下当前高亮的实现。 你可以利用` {php}$menu_html=request()->controller().request()->action();{/php}`  此代码圈子首页获取到的是 Contentshow 模块接口获取的是 模块名+操作方法名 例如:Mallabouts Malllists Mallcontact 利用这个特性就可以进行当前的高亮了,示例中有代码不在叙述,也可以利用官方的方法把导航抽离出来进行定义。 mall目录下的`pc_abouts.htm  pc_contact.htm  pc_lists.htm`  这三个文件就对应了上面qun.php 中的三个操作方法 pc_abouts.htm  pc_contact.htm 因为是直接读取的圈子信息 直接进行$info.xx 进行读取就可以了。 pc_lists.htm 根据我们返回的数组进行调用即可。 content目录下的 pc_show.htm 就是我们的圈子首页。 因为时间关系没做手机版 所以模板仅仅作为教程示例 没有使用的价值,手机版和电脑的区别就是 手机版需要加上 wap_ 具体调用十分简单便捷,店铺类就可以做出任意的效果了, 下面是店铺类的使用教程: 编辑圈子模型 在关键字这里输入 sfmall ![](https://img.kancloud.cn/33/82/338262475353f365e59b61fead516e53_834x379.png) 然后在这个模型创建一个圈子 选择风格的时候选择: ![](https://img.kancloud.cn/b4/11/b4118da2ffe7746d0f8f9ca30f594f4d_698x786.png) 即可,发布商品的时候 选择你这个圈子就可以了。 仅供测试 请勿正式使用。