所以我在工作(为了后人的缘故,我可能会添加敏感数据),以及决定我们需要使用CakePHP 3.0(此时为beta)的所有功能强大且记录最少的新工具的权力.
@H_403_39@
这个修复程序的功能是允许您使用bootstrap自定义模板表单(来自cakePHP 3 !!!!).如果你想使用表单助手设置大小和所有的好(安全性和不是).
编辑:我的目标是为表单创建几个不同的模板,以通过formhelper模板或输入方法进行调用.对此真的没有太多好的例子.
自定义模板FormHelper使用:
正如书中所见(以及互联网上的任何其他地方),因此非常简短的文档是:
http://book.cakephp.org/3.0/en/core-libraries/helpers/form.html#customizing-the-templates-formhelper-uses
该网站说您可以使用模板方法,然后给出模糊的“使用”:
$myTemplates = [ 'inputContainer' => '<div class="form-control">{{content}}</div>',];
$这 – >形状配合>模板($myTemplates);
然后它说你可以使用它没有给出示例的input()方法.
最后但并非最不重要的是,自定义模板FormHelper应该允许您根据需要“制作”或“创建”这些自定义表单,但是他们没有使用如何做到这一点!? lulwut?
我可以像他们的例子一样轻松地使用它,但是单个自定义模板中的强大之处在哪里?这对我没有好处.
//within bootstrap.PHP Configure::write('templates',[ 'shortForm' => [ 'formstart' => '<form class="" {{attrs}}>','label' => '<label class="col-md-2 control-label" {{attrs}}>{{text}}</label>','input' => '<div class="col-md-4"><input type="{{type}}" name="{{name}}" {{attrs}} /></div>','select' => '<div class="col-md-4"><select name="{{name}}"{{attrs}}>{{content}}</select> </div>','inputContainer' => '<div class="form-group {{required}}" form-type="{{type}}">{{content}} </div>','checkContainer' => '',],'longForm' => [ 'formstart' => '<form class="" {{attrs}}>','input' => '<div class="col-md-6"><input type="{{type}}" name="{{name}}" {{attrs}} /></div>','select' => '<div class="col-md-6"><select name="{{name}}"{{attrs}}>{{content}}</select> </div>','fullForm' => [ 'formstart' => '<form class="" {{attrs}}>','input' => '<div class="col-md-10"><input type="{{type}}" name="{{name}}" {{attrs}} /> </div>','select' => '<div class="col-md-10"><select name="{{name}}"{{attrs}}>{{content}}</select> </div>',] ]); //within my view <?PHP $this->Form->templates(Configure::read('templates.shortForm')); ?>
旧更新:我补充说
use "Cake\Core\Configure;"
在我看来,一切都很好,但我想将它添加到层次结构中的相应文件,以便我不必将其添加到每个视图,
这当然除非它导致整个应用程序的效率问题.有谁知道它应该进入哪个文件?问候和TIA!
最新更新:我刚想通了.很简单!检查我的答案如下!希望这有助于某人
CakePHP的何塞·扎普告诉我尝试使用自举插件和小工具,但实际上这样做应该是这样的:
第1步:创建config / templatesConfig.PHP并添加自定义表单.
<?PHP $config = [ 'Templates'=>[ 'shortForm' => [ 'formStart' => '<form class="" {{attrs}}>','select' => '<div class="col-md-4"><select name="{{name}}"{{attrs}}>{{content}}</select></div>','inputContainer' => '<div class="form-group {{required}}" form-type="{{type}}">{{content}}</div>','longForm' => [ 'formStart' => '<form class="" {{attrs}}>','select' => '<div class="col-md-6"><select name="{{name}}"{{attrs}}>{{content}}</select></div>','fullForm' => [ 'formStart' => '<form class="" {{attrs}}>','input' => '<div class="col-md-10"><input type="{{type}}" name="{{name}}" {{attrs}} /></div>','select' => '<div class="col-md-10"><select name="{{name}}"{{attrs}}>{{content}}</select></div>',] ] ];
不要忘记在控制器顶部添加它
use Cake\Core\Configure; $this->set('form_templates',Configure::read('Templates'));
// Load an environment local configuration file. // You can use this file to provide local overrides to your // shared configuration. Configure::load('templatesConfig','default'); //fixed
<?PHP $this->Form->templates($form_templates['shortForm']); ?>