phpcms 表单向导出的表单怎么修改样式
我看了下它的\phpcms\templates\default\formguide\show.html 内的数据是循环遍历出来的,所以嵌套我想要的模板里的话,循环就不好写进标签内。
以上是代码部分。
这是我想要的样式
这是CMS原有的样式。
下血本了一定要给个明确的答案呐!!! 展开
我认为是这样的,\phpcms\templates\default\formguide\show.html是通过程序自动生成对应的表单项来为用户提供方便,但是就没有了用户需要的布局的灵活性,这个我在给用户做在线留言的时候也深有体会。
我一般都是按照下面的思想来做的,与你分享下希望对你有帮助:
首先,既然我们想要自己的布局,那么就自己来写form相关的html代码,然后自由的给表单想要的样式,只要遵循一点,你的表单项的name属性值与后台表单向导里你设定的字段名一致,然后form的action属性地址与show.html模板中form的action属性值一样即可。这样,你可以把你的表单嵌入到一个模板中也可以单独作为一个页面都可以。因为不管怎样你提交的地址是对的,提交的每一项对应的字段名也是对的,那么就会提交成功。
另外,如果需要表单验证,除了自己写javascript外,可以引入phpcms自带的formvalidator.js插件来验证。
还有,如果对每一项(input、textarea、编辑器等你可能用到的表单项)你认为自己手打太麻烦的话(尤其是编辑器),可以引入调用phpcms核心类库中的form.class.php表单项自动生成来来轻松实现自动生成各种指定的表单项。
PS:
类文件中有清晰的注视说明,如果你有php编程基础应该轻松看明白的。另外我在iphpcms教程中也对表单验证插件和类库文件也有详细使用讲解;
如果你不会使用插件类库,教你一个简便方法,使用firebug查看default\formguide\show.html运行显示的页面的html代码,然后直接复制粘贴出来或者说参考它里面是怎么引用的。
formvalidator.js目录:statics/js/formvalidator.js; form.class.php目录:phpcms/libs/classes/form.class.php
你的意思太概我是懂的,但在遇到具体的问题时还是有些局限,当然目前我也没看到最优的办法。
之前为了赶工期,写了个比较蠢的代码,在每个div段内用print_r输出结果(没办法我也想不到好的。)虽然实现了自己想要的结果,但个人觉得这样太麻烦也不太合理。所以看了你的答案后,还是想更细的问下:在我把数据渲染到前端时有没有什么更优的办法呐?
额……没大明白你的问题,你是不是想问怎样更好的生成这个表单呢?如果是的话就用form.class.php这个类能这只参数后自动生成比较复杂的表单项,如果是简单的单行文本输入框直接用html就行。