本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解;

先介绍一下v9 的表单向导如何使用

表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供网友填写个人信息的应聘表。

对于表单,默认的模板放在./phpcms/templates/default/formguide/。文件夹里面有三个文件index.html前台的表单列表,show.html单个表单展示,show_js.html表单插件;

表单作为一个功能性模块,往往是作为一个插件嵌入到页面当中,而不是单独做成一个模型,所以用到的模板就是show_js.html模板页。

1.第一步,利用表单向导新建一个表单


2.每个表单都对应一个调用的js代码,如上图 调用 项下面的输入框所示

<script language='javascript' src='{APP_PATH}index.php?m=formguide&c=index&a=show&formid=12&action=js&siteid=1'></script>

3.在其他模板页面里面加入 调用代码 就ok了。

案例一,phpcms v9的表单向导实现问答咨询功能的方法

phpcms v9内容管理系统本身是没有问答模块的,只有表单向导,但表单向导有很大的局限性,通过表单向导,我们只能查看用户提交的信息,不能对用户提交的信息进行回复。例如一些机构的网站需要一个接收用户的提问,并对提问进行回复的功能,仅仅利用表单向导是满足不了这种需求的,但通过下面的方法对表单向导模块进行一些改动就可以实现咨询问答功能了。在phpcms v9后台新建一表单向导“在线问答”,表名为“online_ask”,表名自己定,如下图。

对“在线问答”添加字段,如下图的例子,添加什么字段是根据需求定的。

下图是该表单的预览效果。

这样用户就可以通过该表单提交问题了,但在后台,网站编辑只能通过表单向导模块对问题进行查看,不能对其进行回答并将问题和回答展示在网站前台,如下图。

为了实现网站编辑在查看问题的同时还能对问题进行回答,需要对表单模块做如下的改动:
打开文件phpcms/modules/formguide/templates/formguide_info_view.tpl.php ,在第28行下面添加如下内容:

<tr>
<td>回&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;答:</td>
<td>
<textarea id="answer" cols="80" rows="10">
<?php echo $answer; ?>
</textarea>
</td>
</tr>
<tr> 
<td>&nbsp;</td>
<td><input id="tijiaohuida" type="button" value="提交回答" /></td>
</tr>
上面的变量$answer哪来的继续往下看就知道了
在第30行下面添加如下内容:
<script type="text/javascript">
$(document).ready(function(){
var canshuStr=window.location.search;
var pos=canshuStr.indexOf("&did");
var posend=canshuStr.indexOf("&",pos+4);
var did_c=canshuStr.substring(pos+5,posend);
var answer_c="";
$("#tijiaohuida").click(function(){ 
answer_c= $("#answer").val(); 
$.post('index.php?m=formguide&c=formguide_info&a=public_answer', {
did: did_c,
answer: answer_c
}, function(json) {
if(json==1){
alert("回答成功");
}
}); 
}); 
});
</script>
然后打开文件phpcms/modules/formguide/formguide_info.php ,在56行加如下代码:
$answer=$info['answer'];
在最后添加一个方法,代码如下。
public function public_answer() {
$did = $_POST['did'];
$answer = $_POST['answer'];
$re= $this->db->query("update kc_form_online_ask set answer='".$answer."',mark='已回答' where dataid=".$did);
echo $re;
}

上面的变量$answer哪来的继续往下看就知道了
在第30行下面添加如下内容:
<script type="text/javascript">
$(document).ready(function(){
var canshuStr=window.location.search;
var pos=canshuStr.indexOf("&did");
var posend=canshuStr.indexOf("&",pos+4);
var did_c=canshuStr.substring(pos+5,posend);
var answer_c="";
$("#tijiaohuida").click(function(){ 
answer_c= $("#answer").val(); 
$.post('index.php?m=formguide&c=formguide_info&a=public_answer', {
did: did_c,
answer: answer_c
}, function(json) {
if(json==1){
alert("回答成功");
}
}); 
}); 
});
</script>
然后打开文件phpcms/modules/formguide/formguide_info.php ,在56行加如下代码:
$answer=$info['answer'];
在最后添加一个方法,代码如下。
public function public_answer() {
$did = $_POST['did'];
$answer = $_POST['answer'];
$re= $this->db->query("update kc_form_online_ask set answer='".$answer."',mark='已回答' where dataid=".$did);
echo $re;
}
然后我们在数据库找到存储改表单的数据表,并添加两个字段mark和answer,mark用来标记改问题是否已作答,answer用来存储回答。
以上是所有的改动。
这样我们查看用户提交的问题的时候界面就变成下图这个样子了。

填入回答后点击提交,就可以将答案数据存储在该表单的数据表内了,
在网站前台,我们可以将用户的问题和网站编辑的回答展示出来,如下图:

这样我们就利用表单向导模块实现了一个简单的在线咨询的功能。网站www.ytsfc.com的在线咨询功能就是通过上面的方法实现的,大家可以去看具体效果。

案例二 使用v9后台的表单向导做前台的留言板功能

表单向导的适用场合:

如果一个前台页面只是为了提交表单数据,那么就非常适合适用表单向导的功能,如下面留言板的案例;如果一个前台页面不只是为了提交表单,还要求在当前前台页面显示提交表单的内容,这种情况就不太适合适用表单向导,更适合将其作为一个模块或插件进行安装,如前台页面需要显示用户留言信息的情况

效果图如下:

1,进入“模块”

2,选择“表单向导”

3,点击“添加表单向导”在“名称”里填“留言板”,然后再“表名”里填“liuyanban”,然后再“允许游客提交表单”栏选“是”。再确定。

4,这时候就出现了一个“留言板”的信息,然后我们在后面找到“添加字段”。

5,点“添加字段”进去,第一行“字段类型”选择,我们一般看到的留言板第一栏都 是“标题”对吧,而“标题”呢就是一个“单行文本”,那我们这里也选择“单行文本”。然后第二栏“字段类型”,这里是放在数据库里面的表名,用来存放“标 题“数据,那我就填一个”标题“的拼音缩写吧:biaoti。接下来就是字段别名了,我们就直接写”标题“吧。再下面是”字段提示“,这里可以不用填,但 是为了让用户更好体验,我们还是填一个提示比较好,就填入”请填写标题“。再下面是”相关参数“的填写,”标题“的”文本框长度“一般就填为50吧,默认 值可写可不写。然后其他的就用管了,直接提交吧。提交以后,我们就会发现刚才添加的字段已经出来了,我们可以点击上面的”预览“按钮看下效果,怎么样?是 不是出现了一个填写标题的输入框。

6,接下来我们就继续添加字段了,根据我们的需要,我们依次添加:留言人、性别、联系电话,留言内容 等字段。注意像”留言人“和”联系电话“在选择字段类型时可以跟”标题“一样选择”单行文本“,”性别“在选择字段类型时选择”选项“,而”留言内容“要 选择”多行文本“或者”编辑器“。

7,在所有的字段添加完成后,我们回到“模块”下“表单向导”这里。我们可以看到在”留言板“后面是不是有个”调用“的脚本,我们把这个脚本放在我们的制作的留言板模板页面里就可以用了哦~~

同样道理:我们还可以自己发挥制作一些其他表单。

phpcms v9 的表单向导功能的使用方法 附多个案例的更多相关文章

  1. phpcms v9 的表单向导功能的使用方法

    本文主要介绍phpcms v9的表单向导功能是如何使用的,并副多个案例讲解: 先介绍一下v9 的表单向导如何使用 表单向导做的很实用,生成一个表单,常用的是把它作为一个留言板,或者在招聘栏目作为一个供 ...

  2. PHPCMS v9的表单向导实现问答咨询功能的方法

    本文主要介绍了在phpcms v9的表单向导里实现问答咨询功能的方法 phpcms v9内容管理系统本身是没有问答模块的,只有表单向导,但表单向导有很大的局限性,通过表单向导,我们只能查看用户提交的信 ...

  3. phpcms v9自定义表单提交后返回上一页实现方法

    PHPcms v9中提交自定义表单后默认都是回到首页的,是不是感觉很不爽! 接下来,就说下phpcms v9自定义表单提交后返回上一页实现方法. 1.找到这个文件 phpcms\modules\for ...

  4. [phpcms v9]自定义表单添加验证码验证功能

    修改  \phpcms\templates\default\formguide\show.html 中添加验证码显示 <input type="text" id=" ...

  5. PHPCMS v9 自定义表单添加验证码验证

    1. 在 \phpcms\templates\default\formguide\show.html 中添加验证码显示 <input type="text" id=" ...

  6. PHPCMS v9 自定义表单添加验证码

    1.  在 \phpcms\templates\default\formguide\show.html 中添加验证码显示 <input type="text" id=&quo ...

  7. 【转】PHPCMS v9 自定义表单添加验证码验证

    1.  在 \phpcms\templates\default\formguide\show.html 中添加验证码显示 <input type="text" id=&quo ...

  8. 6 个基于 jQuery 的表单向导插件推荐

    表单向导可以很好地引导用户进行一步一步的操作,从而降低用户错误输入的几率.尽管互联网中有大量的类似插件,但真正好用的不多. 本文整理了6个比较优秀的表单向导插件,希望能够为你带来帮助. 1. Smar ...

  9. js之表单记忆功能

    在项目中,我们难免会遇到希望相同用户操作本次打开页面时可以展现或者自动记录上次登录系统点击过的的复选框,单选按钮等操作的状态,也就是表单记忆功能,这时,一个很重要的技术便派上了用场,即cookie. ...

随机推荐

  1. .NET 并行编程——任务并行

    本文内容 并行编程 任务并行 隐式创建和运行任务 显式创建和运行任务 任务 ID 任务创建选项 创建任务延续 创建分离的子任务 创建子任务 等待任务完成 组合任务 任务中的异常处理 取消任务 Task ...

  2. 1.5.3 GROUP BY子句

    1.5.3 GROUP BY子句正在更新内容.请稍后

  3. Photodesk for Mac(Instagram 桌面客户端)破解版安装

    1.软件简介    PhotoDesk - for Instagram 是 macOS 系统上一款 Instagram 客户端,可以让大家在 Mac 上观看朋友的新照片.或是最近热门的作品,也可以 f ...

  4. 菜鸟要做架构师(二)——java性能优化之for循环

    完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的.今天就来说一下java代码优化的事情,今天主要聊一下对于for(wh ...

  5. python工具 - 批量文件重命名

    日常工作中经常会遇到这样的情况,需要将某个文件夹下的文件按着一定的规则进行重命名,当文件数量及其庞大的时候手工一个一个的去修需要耗费大量的时间,以下python工具可以协助批量修改文件名. 场景:某文 ...

  6. Mac下软件包管理器-homebrew

    类似于redhat系统的yum,ubuntu的apt-get,mac系统下也有相应的包管理容器:homebrew.用法与apt-get.yum大同小异,都是对安装软件做一些安装删除类的命令行操作,以下 ...

  7. (4) MySQL中EXPLAIN执行计划分析

    一. 执行计划能告诉我们什么? SQL如何使用索引 联接查询的执行顺序 查询扫描的数据函数 二. 执行计划中的内容 SQL执行计划的输出可能为多行,每一行代表对一个数据库对象的操作 1. ID列 ID ...

  8. linux每日命令(37):top命令

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...

  9. Spring Boot 应用 发布到Docker

    Spring Boot 应用 先把命令行切换到Maven项目的根目录 E:\gitCode\galaxyguardians 通过mvn clean package命令打包应用程序 ,在E:\gitCo ...

  10. 设置全局git忽略文件 gitconfig

    cat ~/.gitconfig [user] email = yuanhuikai@liquidnetwork.com name = yuanhuikai[core] excludesfile = ...