Я хочу добавить гликиконы вместо текста в моем индексе, добавить, редактировать представления.
Это работает в index.ctp
<?= $this->Html->link(__('<i class="glyphicon glyphicon-pencil"></i>'), ['action' => 'edit', $user->user_id], array('escape' => false)) ?>
Но когда я делаю это для действия удаления, он показывает мне глифик, но не дает мне «Вы уверены, что хотите удалить пользователя?» больше не
<?= $this->Form->postLink(__('<i class="glyphicon glyphicon-minus"></i>'), ['action' => 'delete', $user->user_id], array('escape' => false), ['confirm' => __('Are you sure you want to delete {0}?', $user->username)]) ?>
В view.ctp он разбивает код, который идет после, поэтому контент, который идет после, не отображается. (в этом примере это содержимое после глификон-карандаша. Сам глификон-карандаш также не показан.
<?= $this->Html->link(__('<i class="glyphicon glyphicon-pencil'), ['action' => 'edit', $user->user_id], ['escape' => false]) ?>
Присмотритесь к аргументам, которые вы передаете, вы передаете 4, где метод принимает только 3, т.е. confirm
опция не передается в фактическом аргументе опции.
Правильное форматирование очень помогает обнаружить такие ошибки.
<?=
$this->Form->postLink(
__('<i class="glyphicon glyphicon-minus"></i>'),
[
'action' => 'delete',
$user->user_id
],
[
'escape' => false,
'confirm' => __('Are you sure you want to delete {0}?', $user->username)
]
)
?>
И ваш FormHelper::link()
В примере отсутствует закрывающая двойная кавычка для <i>
элементы class
атрибут, а также закрывающий тег для самого элемента
'<i class="glyphicon glyphicon-pencil"></i>'
Вы должны уделять больше внимания деталям, эти проблемы действительно просты и их легко избежать.
Других решений пока нет …