Глиф Font Awesome не отображается в заголовке кнопки помощника формы
Версия CakePHP: 4.0.1
Font Awesome версия: free-5.12.0 - здесь
Я только что обновил Cake версии 3.7.5 до 4.0.1, и глиф font awesome больше не отображается в заголовке кнопок.
Я следил за информацией здесь в кулинарной книге для настройки кнопки, как описано ниже:
$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, или, возможно, он был разработан, и в этом случае существует альтернативный метод.
Спасибо З.
@ndm - Отлично, все работает. И спасибо за создание Pr.
1 ответ
Документы кажутся устаревшими, поскольку содержимое кнопок CakePHP 4.x по умолчанию закодировано в HTML. Из руководства по миграции:
Cake\View\Helper\FormHelper::button()
теперь HTML-сущность кодирует текст кнопки и атрибуты HTML по умолчанию. Новый вариантescapeTitle
был добавлен для управления экранированием заголовка отдельно от других атрибутов HTML.
Поэтому вам нужно явно отключить экранирование (что требует использования 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,
]);
Смотрите также