在Symfony中,表单函数很大程度上方便了界面设计。通过项目实践,把常用的做一下小结,整理出来备忘。
- 表单辅助函数
- 标准的表单元素
- 日期控件
- 富文本控件
- 表单对象
表单辅助函数
1 2 3 4 5 6 7 8 9 10 11 12 | form_tag()
------------------------------------------------
< ?php echo form_tag('module/action') ?>
=> <form method="post" action="module/action"></form>
< ?php echo form_tag('module/action',
'method=get multipart=true class=simpleForm') ?>
=> <form method="get" action="module/action" enctype="multipart/form-data" class="simpleForm">
</form>
------------------------------------------------- |
标准的表单元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | textarea_tag('name', 'default content', 'size=10x20')
input_tag('name', 'default value', 'maxlength=20')
checkbox_tag('single',1,true)
radiobutton_tag('status[]', 'value1', true)
radiobutton_tag('status[]', 'value2', true)
select_tag('payment', options_for_select(array('Visa', 'Eurocard', 'Mastercard'),
0))
select_tag('payment', options_for_select(array('Visa'=>'Visa',
'Eurocard'=>'Eurocard'),'Visa'))
input_file_tag('name')
input_password_tag('name', 'value')
input_hidden_tag('name', 'value')
submit_tag('Save')
submit_image_tag('submit_img.png') |
日期控件
1 2 3 | input_date_tag()
< ?php echo input_date_tag('test', '2006-04-01', 'rich=true') ?>
< ?php echo input_date_tag('test', 'now', 'rich=true') ?> |
富文本控件
1 2 3 4 5 6 7 8 9 10 11 12 13 | 安装TinyMCE:
打开tinymce_3_2_4_1.zip,解压tiny_mce 目录(位于jscripts/目录中)到 web/js/ 中。
系统配置:
setting.yml
all:
.settings:
rich_text_js_dir: js/tiny_mce
使用:
< ?php echo textarea_tag('name', 'default content', 'rich=true size=10x20') ?>
< ?php echo textarea_tag('name', 'default content', 'rich=true size=10x20
tinymce_options=language:"fr",theme_advanced_buttons2:"separator"') ?>
< ?php echo object_textarea_tag($comment, 'getBody',
array ( 'size' => '30x3','rich' => true,)) ?> |
表单对象
1 2 3 4 5 6 7 8 9 10 11 12 13 | 安装TinyMCE:
打开tinymce_3_2_4_1.zip,解压tiny_mce 目录(位于jscripts/目录中)到 web/js/ 中。
系统配置:
setting.yml
all:
.settings:
rich_text_js_dir: js/tiny_mce
使用:
< ?php echo textarea_tag('name', 'default content', 'rich=true size=10x20') ?>
< ?php echo textarea_tag('name', 'default content', 'rich=true size=10x20
tinymce_options=language:"fr",theme_advanced_buttons2:"separator"') ?>
< ?php echo object_textarea_tag($comment, 'getBody',
array ( 'size' => '30x3','rich' => true,)) ?> |
具体实例请参考 Symfony权威指南 10章