模板 – Cakephp 3多个自定义模板formhelpers

前端之家收集整理的这篇文章主要介绍了模板 – Cakephp 3多个自定义模板formhelpers前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我在工作(为了后人的缘故,我可能会添加敏感数据),以及决定我们需要使用CakePHP 3.0(此时为beta)的所有功能强大且记录最少的新工具的权力.

编辑:我的目标是为表单创建几个不同的模板,以通过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!

最新更新:我刚想通了.很简单!检查我的答案如下!希望这有助于某人

这个修复程序的功能是允许您使用bootstrap自定义模板表单(来自cakePHP 3 !!!!).如果你想使用表单助手设置大小和所有的好(安全性和不是).

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>',]
    ]
];

第2步:从控制器内部的方法中查看正确的视图,调用此行.

不要忘记在控制器顶部添加

use Cake\Core\Configure;

$this->set('form_templates',Configure::read('Templates'));

第3步:在bootstrap.PHP文件添加

// Load an environment local configuration file.
// You can use this file to provide local overrides to your
// shared configuration.

Configure::load('templatesConfig','default'); //fixed

步骤4(最后):添加此行以及您想要Bam的模板名称

<?PHP $this->Form->templates($form_templates['shortForm']); ?>
原文链接:https://www.f2er.com/php/130898.html

猜你在找的PHP相关文章