phpcms如何自定义表单-PHPCMS

资源魔 38 0

phpcms若何自界说表单

自界说表单的步骤以下:

(1):关上后盾,点击模块,找到表单导游,点击增加表单导游,呈现上面的界面。

1.png

(2):接上去,咱们需求引见下下面图中的模板抉择以及js挪用应用的模板这两个选项,关于模板抉择的话,其实就是咱们的表单的前台页面,js挪用应用的模板示意提交表单之后执行的跳转操作,普通状况下,咱们只要要切换模板抉择局部内容就能够完成表单款式修正,js挪用应用的模板没有需求咱们做任何操作,详细模板抉择show.html与js挪用应用的模板show_js.html存储正在甚么中央呢?

谜底是phpcms\templates\default\formguide门路下,那末实际中,咱们只要要切换模板抉择便可,正在此我本人界说一个show_message.html的文件,并将模板抉择地位切换成我的show_message.html文件。

相干保举:phpcms教程

(3):接上去就是我的show_message.html文件编写进程了,该文件的编写需求参考原先show.html写法,咱们来看下show.html外面对于表单的局部是怎样写的。

<form method="post" action="?m=formguide&c=index&a=show&formid={$formid}&siteid=<?php echo $this->siteid;?>" name="myform" id="myform">
   <table class="table_form" width="100%" cellspacing="0">
   <tbody>
   {loop $forminfos_data $field $info}
    {if $info['formtype']=='omnipotent'}
        {loop $forminfos_data $_fm $_fm_value}
            {if $_fm_value['iscomnipotent']}
                {php $info['form'] = str_replace('{'.$_fm.'}',$_fm_value['form'],$info['form']);}
            {/if}
        {/loop}
    {/if}
    <tr>
      <th width="80">{if $info['star']} <font color="red">*</font>{/if} {$info['name']}
      </th>
      <td>{$info['form']}  {$info['tips']}</td>
    </tr>
    {/loop}
    </tbody>
    </table>
    <input type="submit" name="dosubmit" id="dosubmit" value=" 提交 ">&nbsp;<input type="reset" value=" 勾销 ">
</form>

这外面比拟首要的有上面几个局部

(1):form的action局部,该局部的值为

?m=formguide&c=index&a=show&formid={$formid}&siteid=<?php echo $this->siteid;?>,普通状况下你间接复制到本人的form表单的action局部就能够了。

(2):至于form标签下的name=”myform” id=”myform”局部,是无关紧要的,想写就写没有想写去掉也能够的。

(3):接上去是{loop $forminfos_data $field $info}轮回体了,这个轮回体比拟首要,$field拿到的是你正在创立完表单导游之后,增加字段的时分取的字段英文名,对应的就是存储你留言信息数据库中的字段,而$info则存储着你界说数据表字段的一些额定信息,比方数据表字段的中文名,详细这些值正在哪些中央设置呢?就是正在你创立完表单之后,点击增加字段之后呈现的界面中填写的内容,详细就是上面界面:

2.png

(4):接上去是变量遍历轮回局部,该局部次要性能是轮回拿到依据咱们创立的数据表零碎为咱们创立进去的表单信息内容,比方<td>{$info['form']} {$info['tips']}</td>这句代码中的{$info['form']}猎取到的内容就是以后字段对应的零碎为咱们默许创立的表单款式,举个例子以下图,下图中的值是我间接打印$info失去的后果值:

3.png

(5):最初一个需求留意之处就是<input type="submit" name="dosubmit"肯定要记患上增加name="dosubmit",由于正在phpcms\modules\formguide门路下的index.php中,存正在判别$_POST['dosubmit']的代码。

到此为止,咱们查看了phpcms零碎默许的show.html表单款式完成,接上去咱们完成本人的表单款式,我间接把我的完成代码贴进去

<form method='post' class="met-form met-form-validation" enctype="multipart/form-data" action='{APP_PATH}index.php?m=formguide&c=index&a=show&formid={$formid}&action=js&siteid=<?php echo $this->siteid;?>'>
     {loop $forminfos_data $field $info}
     {php var_dump($info)}
     {if $info['formtype']=='text'}
     <div class='form-group'>
        <input name='info[{$field}]' class='form-control' type='text' placeholder='{$info[tips]}' />
     </div>
     {/if}
     {if $info['formtype']=='textarea'}
     <div class='form-group'>
        <textarea name='info[{$field}]' class='form-control'  placeholder='{$info[tips]} ' rows='10'></textarea>
     </div>
     {/if}
     {/loop}
     <div class="form-group m-b-0">
     <button type="submit" name="dosubmit" id="dosubmit" class="btn btn-primary btn-lg btn-block btn-squared" value=" 提交 ">提交留言</button>
     </div>
</form>

我这段代码对原先show.html最年夜的改动正在于上面几点

起首我本人的表单款式为class="met-form met-form-validation",而原先的代码中没有存正在这局部内容

我去除了了name="myform" id="myform"这局部内容值

接上去正在表单创立input局部,一样应用了

{loop $forminfos_data $field $info}的形式,而且经过$info['formtype']来判别是单行文本仍是多行文本

以单行文本为例

<input name='info[{$field}]' class='form-control' type='text' placeholder='{$info[tips]}' />,这局部中name='info[{$field}]'比拟要害,假如你的表单中没写这几句代码,你会发如今提交表单之后,数据库中基本不你填写的内容信息,后盾中留言信息列表中也没有会呈现你写的留言内容

最初正在submit局部增加了name="dosubmit"这句代码,留意,假如不这句代码,你照样正在数据库中找没有到你的留言内容。

至此为止,咱们曾经能够创立本人格调的表单啦!

更多phpcms网站建立视频教程,请存眷PHP中文网!

以上就是phpcms若何自界说表单的具体内容,更多请存眷资源魔其它相干文章!

标签: phpcms phpcms教程 phpcms技巧 php问题解决 自定义表单

抱歉,评论功能暂时关闭!