2015-01-08 2 views
0

Это должно быть легко. У меня есть кнопка, на мой взгляд:Форматирование текста в виде кнопки Cakephp

<?php echo $this->Html->link("Edit", array('controller'=>'Competitors','action'=>'edit', $competitor['competitors']['id'])); ?> 

Кнопка добавляет ссылку для редактирования населенную пользователя. Теперь я хочу, чтобы добавить кнопку вместо «Edit» только текст, поэтому я добавил:

<?php echo $this->Html->link('Edit', array('controller'=>'Competitors','action'=>'edit', $competitor['competitors']['id']), array('class' => 'btn btn-info btn-xs', 'target' => '_self'))?> 

, что это хорошо, но я хочу, чтобы добавить значок «glyphicon» перед текстом «Edit », но все еще внутри кнопки, например:

! http://www.tutorialspoint.com/bootstrap/images/glyphicon_demo.jpg

поэтому я попытался:

<?php 
echo $this->Html->link(
     $this->Html->tag('span', 'Edit', array('class' => 'glyphicon glyphicon-edit')), 
     array('controller'=>'Competitors','action'=>'edit', $competitor['competitors']['id']), array('class' => 'btn btn-info btn-xs', 'target' => '_self'))?> 

Но не работает, как я могу просто добавить значок glyphicon и сохранить форматирование текста. Пожалуйста, ребята, мне нужна помощь. Спасибо большое!

ответ

1

Не уходите от названия ссылки!

Добавить эту опцию в настройки методы ссылки:

'escape' => false 

Поэтому код будет:

<?php 
echo $this->Html->link(
     $this->Html->tag('span', 'Edit', array('class' => 'glyphicon glyphicon-edit')), 
     array('controller'=>'Competitors','action'=>'edit', $competitor['competitors']['id']), array('class' => 'btn btn-info btn-xs', 'target' => '_self','escape' => false))?> 
+0

Большое спасибо, это не совсем работал, но, с ответом, а другой парень, который ответил я был в состоянии сделать это. Вот код для вашей справки: ' Html-> link (' Edit', array ('controller' => 'Competitors', ' 'action' => 'edit', $ competitor ['competition'] ['id']), array ('escape' => false, 'class' => 'btn btn-info btn-xs', 'target' => '_self'));?> ' –

1

Чтобы использовать HTML элементы в вашей CakePHP Html ссылка вам необходимо установить «побег '=> false как третий аргумент.

Например:

echo $this->Html->link('<span class="glyphicon glyphicon-edit"></span> Edit', array('action' => 'edit'), array('escape' => false)); 
+0

спасибо большое, это не совсем сработало, но с вашим ответом и другим парнем, который ответил, я смог это сделать. Вот код для вашей справки: ' Html-> link (' Edit', array ('controller' => 'Competitors', ' 'action' => 'edit', $ competitor ['competition'] ['id']), array ('escape' => false, 'class' => 'btn btn-info btn-xs', 'target' => '_self'));?> ' –

+0

Правильно, я привел только пример. Ожидается, что он будет изменен в соответствии с вашими потребностями, но шутка в нем есть. – CertifiedGeek

0

Спасибо, ребята за вашу помощь. С помощью комбинации ваших ответов я получил решение, вот оно:

<?php echo $this->Html->link('<span class="glyphicon glyphicon-edit"></span> Edit', array('controller'=>'Competitors','action'=>'edit', $competitor['competitors']['id']), array('escape' => false, 'class' => 'btn btn-info btn-xs', 'target' => '_self'));?> 
Смежные вопросы