CakePHP 3自定义模板不适用于按钮元素

时间:2018-01-18 17:09:17

标签: cakephp-3.0

我尝试用<div></div>围绕按钮元素,如下面的代码所示,但它没有按预期工作。屏幕截图显示了按钮的显示方式。

enter image description here

<?= $this->Form->button('<i class="glyphicon glyphicon-log-in "></i> Sign in', [
    'templates' => [
       'button' => '<div class="col-xs-4"><button{{attrs}}>{{text}}</button></div>'],
    'type' => 'submit', 
    'class' => 'btn bg-navy btn-flat',
    'escape' => false
    ]); 
?> 

使用<div></div>围绕按钮元素的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

templates方法

没有Form->button()个选项

您必须在创建输入之前设置模板

<?php
    $this->Form->setTemplates([
        'button' => '<div class="col-xs-4"><button{{attrs}}>{{text}}</button></div>'])
?>

<?= $this->Form->button('<i class="glyphicon glyphicon-log-in "></i> Sign in', 
    'type' => 'submit',
    'class' => 'btn bg-navy btn-flat',
    'escape' => false
    ]); 
?>

请记住,您也可以将模板放在一个文件中,以便在所有表单中使用它们(请参阅食谱here

您也可以直接将html直接放入页面而不使用任何模板; - )

<div class="col-xs-4">
    <?= $this->Form->button('<i class="glyphicon glyphicon-log-in "></i> Sign in', 
        'type' => 'submit',
        'class' => 'btn bg-navy btn-flat',
        'escape' => false
     ]); 
    ?>
</div>

如果你只需要一个单一形式的div元素,你可能根本就不需要这个模板。