我个人进行归类 数据展示分为2大类 一个是聚合页 一个是店铺类。
店铺 名片 微商之类的都可以归类为店铺类。
圈子数据聚合 专题类的都可以归类为数据整合。
所以花了点时间做了2个类别的模板(时间关系只做了电脑版)。现在一个一个进行讲解步骤比较详细篇幅比较长,没有耐心的可以直接关闭了。
https://b.qibo168.com/qun/show-1.html 先看这个地址,店铺类的。先从数据整合开始讲起。
既然要进行数据整合就需要我们做接口,数据接口异步:圈子频道程序的目录讲解 · 齐博CMS之X1 · 看云
1第一步
在我们的 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文件夹进行模板的编写 教程地址:圈子频道风格的目录讲解 · 齐博CMS之X1 · 看云
第二个大方法就是 template\qun_style 里面创建文件夹的方式进行编写 教程地址:圈子完整一套风格目录 · 齐博CMS之X1 · 看云
这样归类梳理下就很清晰了,怕麻烦就用第二个办法 缺点是只能你这个模板调用 不怕麻烦就第一个办法所有的模板都可以调用。
我们采用的是第二个方法,先看下目录结构:
content 为固定的圈子首页模板
mall 为我们的模块接口模板文件
info.php 模板配置文件
pc_layout.htm 布局文件
wap_layout.htm 手机版布局文件(暂时没做)以后的手机版都要加上wap_ 即可下面不在重复说了。
先从 info.php 模板配置文件 说起:
<?php return [ 'name'=>'sfmall风格', 'sort'=>'商城专用', 'type'=>'sfmall', //关键字,可为空 'money'=>0,//收费金额 ];
和原来的圈子风格对比就多了一项 type 参数,这里的参数作用是十分巨大的,你可以编辑下圈子的模型 会发现多了一堆的配置项 其他项目都好说 关键字这项就是和这里进行关联的,如下图:
设置了关键词后 用户选择模板的时候就只能选择 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
然后在这个模型创建一个圈子 选择风格的时候选择:
即可,发布商品的时候 选择你这个圈子就可以了。
仅供测试 请勿正式使用。
以下是隐藏的内容需要回复才可见,因为回复过了,所以下面的内容可见
来个回复下载吧。
就不放应用市场了等完善了再放吧。
下一个教程是 专题类的数据调用 哪个就更简单了。