繁体   English   中英

CakePHP 3.x创建表单模板

[英]CakePHP 3.x create Form templates

我想创建几个不同的表单模板。 CakePHP文档是一个如何在app_form.php文件中放置模板的示例。 我做的。 可以,但是要如何使用几个不同的模板呢? 我创建的一个覆盖了应用程序中的所有表单。 我的模板:

    return [
        'formStart' => '<form class="form-horizontal" {{attrs}}>',

        'legend' => '<legend>{{text}}</legend>',
        'inputContainerError' => '<div class="input {{class}} {{type}}{{required}} error">{{content}}{{error}}</div>',
        'inputContainer'=>'<div class="form-group">
                    <label class="col-md-4 control-label">{{legend}}</label>
                    <div class="col-md-8">{{content}}</div></div>',
        'input'=>'<input type="{{type}}" name="{{name}}" class="form-control input-small" {{attrs}} />',
        'submitContainer'=>'<div class="form-actions">
                    <div class="row">
                        <div class="col-md-offset-3 col-md-9">
                            {{content}}
                        </div>
                    </div>
                </div>',
        'select' => '<div class="form-group">
                    <label class="col-md-4 control-label" {{attrs}}>{{legend}}</label>
                    <div class="col-md-8"><select class="form-control input medium" name="{{name}}"{{attrs}}>{{content}}</select></div></div>',
        'label' => '<label class="col-md-4 control-label" {{attrs}}>{{text}}{{label}}</label>',

];

我的随机形式:

<?= $this->Form->create()?>
<?= $this->Form->control("domyslny",['type'=>'text','label'=>"dupa"])?>
<?= $this->Form->select("gs_category_id",$listGsMenu,['id'=>'gs_category_id','label'=>"GS category"]) ?>
<?= $this->Form->select("tim_category_id",$listTimMenu,['id'=>'tim_category_id']) ?>
<?= $this->Form->submit(__d('Categories','Submit'),['class'=>'btn btn-primary'])?>
<?= $this->Form->end()?>

您可以通过在控制器中重新加载帮助器来创建许多不同的表单模板:

// In a View class
$this->loadHelper('Form', [
    'templates' => 'app_form', // Load app_form.php
]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM