phpcms自带的表单向导样式太固定了,不够灵活,有的时候需要使用自己的表单样式;
新建表单向导模块后,添加一些需要的字段,然后点击访问前台:
在打开的页面,右键“审查元素”,获取到表单信息,
pc默认带了几个css和js,这些都是冗余的,实际上取下面这2个就行了:form标签里面的action、input(包括submit)标签里面的name。把这两个值放进自己制作的表单html就ok;
如果需要为表单添加验证码的话,也挺简单的;
找到这个文件\phpcms\templates\default\formguide\show.html,这个是默认的表单模板,添加一个input框
1
2
3
4
5
6
7
|
<tr>
<td style= "text-align:right;" >验证码</td>
<td colspan= "2" >
<input type= "text" id= "code" name= "code" size= "8" class = "input-text" >
<span>{form::checkcode( 'code_img' , '4' , '14' , 84, 24)}请输入图片中的验证码</span>
</td>
</tr>
|
还是老办法,访问一下前台,获取到验证码的地址,copy到自己自定义的img标签的src属性里面;
然后,找到这个文件\phpcms\modules\formguide\index.php,打开,需要添加几行代码:
1
2
3
4
5
6
7
8
|
1)在第三行找到这行代码。
defined( 'IN_PHPCMS' ) or exit ( 'No permission resources.' );
define( 'CACHE_MODEL_PATH' ,PHPCMS_PATH. 'caches' .DIRECTORY_SEPARATOR. 'caches_model' .DIRECTORY_SEPARATOR. 'caches_data' .DIRECTORY_SEPARATOR);
然后在后面加入下面两行代码
$session_storage = 'session_' .pc_base::load_config( 'system' , 'session_storage' );
pc_base::load_sys_class( $session_storage );
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
2)找到下面这行代码
if (isset( $_POST [ 'dosubmit' ])) {
$tablename = 'form_' . $r [ 'tablename' ];
$this ->m_db->change_table( $tablename );
然后在下面加入下面这段代码
if (! empty ( $_SESSION [ 'code' ])) {
//判断验证码
$code = isset( $_POST [ 'code' ]) && trim( $_POST [ 'code' ]) ? trim( $_POST [ 'code' ]) : showmessage(L( 'input_code' ), HTTP_REFERER);
if ( $_SESSION [ 'code' ] != strtolower ( $code )) {
showmessage(L( 'code_error' ), HTTP_REFERER);
}
}
|
这样就完成了自定义表单: