CakePHP-эквивалент html-кода

Я работаю над проектом cakePHP, и мне нужно создать кнопку с помощью PHP, которая удалит запись в базе данных, но я хочу отобразить значок корзины начальной загрузки Twitter на указанной кнопке.

Код для включения значка из начальной загрузки Twitter:

<i class="icon-trash"></i>

И PHP-код, который мне нужен для работы, это:

<?php echo $this->Form->postLink(__('Delete'), 
    array(
        'action' => 'delete', 
        $skill['Skill']['SkillID']),
        array(
              'class'=>'btn'),
              null, 
              __('Are you sure you want to delete # %s?', 
              $skill['Skill']['SkillID']
));?>

Кто-нибудь знает, как реализовать html в этом PHP-коде, чтобы я мог заменить текст «Удалить» значком?


person pjmil    schedule 08.07.2012    source источник


Ответы (2)


echo $this->Form->postLink(
    '<i class="icon-trash"></i> '.__('Delete'), 
    array(
        'action' => 'delete', 
        $skill['Skill']['SkillID']
    ),
    array(
        'class'=>'btn',
        'escape' => false
    ),
    null, 
    __('Are you sure you want to delete # %s?', 
        $skill['Skill']['SkillID'] )
);

'escape' => false заставляет CakePHP отображать HTML без экранирования.

Это может (в зависимости от CSS) также работать, если вы просто добавите в ссылку класс icon-trash.

echo $this->Form->postLink(__('Delete'), 
    array(
        'action' => 'delete', 
        $skill['Skill']['SkillID']),
        array(
              'class'=>'btn icon-trash'),
              null, 
              __('Are you sure you want to delete # %s?', 
              $skill['Skill']['SkillID']
));
person JJJ    schedule 08.07.2012

Во-первых, если вы используете CakePHP и Twitter Bootstrap, есть отличный вспомогательный плагин, который сделает вашу жизнь проще https://github.com/loadsys/twitter-bootstrap-helper

Тогда посмотрите на метод кнопки. Я почти уверен, что вы можете просто передать 'icon' => 'iconname' в массиве параметров

person chrisbulmer    schedule 08.07.2012