因为看到网上卖的帝国问答插件大几百买不起,想咨询一个思路最好能提供系统模型设置以及代码调用等问题,代码部分简单的分享一下给更多需要的朋友
首先,这个问答系统模型,我是根据帝国论坛网友提供的思路,也就是两个系统模型,一个列表页模板、一个内容页模板、一个提问页面组成,没有加入其他二开功能,下面开干
1.创建两个数据表,提问数据表和回复数据表
提问数据表表名:tiwen,回复数据表表名:huida
提问数据表加入一个自定义字段提问内容:neirong
而回复数据表,需要加入两个自定义字段:关联提问标题字段:askid和内容回复字段:huifu
其中askid,这么写
至于提问内容neirong字段和内容回复huifu字段,按照自定义字段正常写法即可,其中需要注意的就是,字段类型:中型字符型(Mediumtext)、输入表单显示元素:多行文本框(textarea)
其他,没什么需要特别注意的,创建好数据表,接下来就是增加系统模型
2.增加对应的系统模型
增加系统模型,没什么好讲的,按照正常方法增加,注意的就是勾选投稿项而已
增加好对应的系统模型,下一步就是创建两个栏目
3.创建栏目,比如提问栏目和回复栏目
两个栏目分别选择对应的系统模型,也就是说提问栏目选择绑定提问系统模型,回复栏目选择绑定回复系统模型,勾选终极栏目,然后列表页和内容页选择同一套模板即可
4.内容页调用代码实现回复内容
[e:loop={"select * from zz2zz.com_ecms_huifu where askid='$navinfor[id]' order by newstime desc limit 10",20,24,0}]<li><?=$bqr['danantxts']?></li>[/e:loop]
以上灵动标签只是单纯调用回复内容,
后面网友反馈,能不能加入发表时间、用户名和用户头像,这个很简单,直接
<?=$bqr[username]?>
<?=date('y-m-d H:i:s',$bqr[newstime])?>
<?=$userr[userpic]?$userr[userpic]:'/e/data/images/notimg.gif'?>
5.内容页实现回复框发表回复功能
其实这个就是用到帝国cms前台投稿功能,具体没什么介绍的,其中注意的要点就是title字段,也就是标题怎么写
title字段作为默认系统模型,是不能够留空不输入的,设置不录入也不行,只能所以titiel字段value值直接写死即可,也就是value="[!--title--]"
同样的,askid关联字段也要写死,也就是回复的内容式关联哪篇文章,所以askid字段的value值也直接等于id即可
那么问题来了,前台有显示这两个输入框,其实我们只需要用css中display:none,不显示即可
这样就只剩下多行文本框huifu字段了
具体代码这里就不贴了,毕竟可以直接百度参照帝国cms前台投稿功能代码写法修改
网友反馈,回复不能发表上传图片吗
答案是肯定可以,使用附件标题图片附件上传功能即可
<input type="file" name="titlepicfile" size="45"/>
6.自定义页面添加提问功能
也就是自定义页面添加帝国cms前台投稿功能而已
到这里,整一套帝国cms问答系统模型的简单功能就写出来了,没什么难度,希望对于新手有所帮助
最后总结一下帝国cms问答系统模型开发写法的难点
1.创建数据表和增加系统模型
2.添加数据表自定义字段中:输入表单显示元素:选择外表关键字段、以及如何使用灵动标签调用
3.帝国cms前台投稿功能实现以及代码写法
基本上知识点就主要是这三个,当然,这里值得注意的是,提问栏目内容页设置一定要选择《动态页面》,这样回复之后返回内容页就可以看到提交的内容,如果选择静态页面,需要后台刷新生成内容页才能显示
写完这个问答系统模型,加上时间、用户头像、用户昵称、显示ip再写根据代码写一下css样式,感觉和论坛系统模型没什么两样!!!
只能说帝国cms作为万能建站系统,真的是想到即做到!越来越喜欢折腾帝国程序了,期待8.0版本更上一层楼