Font Awesome 字形未显示为表单助手按钮标题
Font Awesome glyph not being displayed as the form helpers button title
CakePHP 版本:4.0.1
Font Awesome 版本:free-5.12.0 - here
我刚刚从 Cake 3.7.5 版升级到 4.0.1 版,字体很棒的字形不再显示为按钮标题。
我按照食谱中的信息 here 来配置按钮,详情如下:
$this->Form->button('<i class="fas fa-search"></i>', [
'type' => 'submit',
'name' => 'AccountChoose',
'class' => 'btn btn-ae-lookup-as-glyph'
]);
我尝试在按钮配置中使用 'escape' => true 以防它与 html 编码有关但没有改变。
我也尝试过这样声明标题,但仍然没有改变。
$this->Form->button("<i class='fas fa-search'></i>", [
字形显示在按钮外,所以我知道它在 3x 和 4x 分支之间发生了变化。
我的问题。
是否有一种按钮配置可以让我在 4.0.1 版中将字形显示为按钮标题或者也许
已经设计出来在这种情况下有没有替代方法。
谢谢 Z.
@ndm - 很好,一切正常。感谢您创建 Pr.
文档似乎已过时,因为 CakePHP 4.x 按钮内容默认为 HTML 实体编码。来自迁移指南:
Cake\View\Helper\FormHelper::button()
now HTML entity encodes the button text and HTML attributes by default. A new option escapeTitle
has been added to allow controlling escaping the title separately from other HTML attributes.
因此您需要明确禁用转义(这需要使用 false
,而不是 true
)。 4.x 还引入了 escapeTitle
选项,您应该使用它来代替 escape
,因为后者现在仅适用于 HTML 属性:
$this->Form->button('<i class="fas fa-search"></i>', [
'type' => 'submit',
'name' => 'AccountChoose',
'class' => 'btn btn-ae-lookup-as-glyph',
'escapeTitle' => false,
]);
另见
CakePHP 版本:4.0.1
Font Awesome 版本:free-5.12.0 - here
我刚刚从 Cake 3.7.5 版升级到 4.0.1 版,字体很棒的字形不再显示为按钮标题。
我按照食谱中的信息 here 来配置按钮,详情如下:
$this->Form->button('<i class="fas fa-search"></i>', [
'type' => 'submit',
'name' => 'AccountChoose',
'class' => 'btn btn-ae-lookup-as-glyph'
]);
我尝试在按钮配置中使用 'escape' => true 以防它与 html 编码有关但没有改变。
我也尝试过这样声明标题,但仍然没有改变。
$this->Form->button("<i class='fas fa-search'></i>", [
字形显示在按钮外,所以我知道它在 3x 和 4x 分支之间发生了变化。
我的问题。
是否有一种按钮配置可以让我在 4.0.1 版中将字形显示为按钮标题或者也许 已经设计出来在这种情况下有没有替代方法。
谢谢 Z.
@ndm - 很好,一切正常。感谢您创建 Pr.
文档似乎已过时,因为 CakePHP 4.x 按钮内容默认为 HTML 实体编码。来自迁移指南:
Cake\View\Helper\FormHelper::button()
now HTML entity encodes the button text and HTML attributes by default. A new optionescapeTitle
has been added to allow controlling escaping the title separately from other HTML attributes.
因此您需要明确禁用转义(这需要使用 false
,而不是 true
)。 4.x 还引入了 escapeTitle
选项,您应该使用它来代替 escape
,因为后者现在仅适用于 HTML 属性:
$this->Form->button('<i class="fas fa-search"></i>', [
'type' => 'submit',
'name' => 'AccountChoose',
'class' => 'btn btn-ae-lookup-as-glyph',
'escapeTitle' => false,
]);
另见