CakePHP добавляет изображение в echo $this->Html->link
Привет, я пробовал разные вещи, но не уверен, что пытаюсь усложнить ситуацию. Проще говоря, я хочу добавить флаг страны с маленьким изображением для слов "испанский" и "английский" и вместо этого использовать тег "Alt" с этими словами. Следующее прекрасно работает только с текстом, и как есть, но было бы здорово иметь изображение, чтобы заменить или сидеть рядом со словом. Любая помощь доступна?
echo $this->Html->link('Spanish', array('controller'=>'settings', 'action'=>'lang', 'spa'),
array('rel'=>'nofollow'));
}
else {
echo $this->Html->link('English', array('controller'=>'settings', 'action'=>'lang', 'eng'),
array('rel'=>'nofollow'));
}
2 ответа
Вы можете вывести только связанное изображение, используя image
метод с url
отнести:-
<?php
echo $this->Html->image(
'spain.jpg',
array(
'alt' => 'Spanish',
'url' => array('controller' => 'settings', 'action' => 'lang', 'spa')
)
);
Или вы можете включить изображение с текстовой ссылкой, комбинируя обычный CakePHP link
метод и image
Метод:-
<?php
echo $this->Html->link(
h('Spanish') . $this->Html->image('spain.jpg', array('alt' => 'Spanish')),
array('controller' => 'settings', 'action' => 'lang', 'spa'),
array('escape' => false, 'rel' => 'nofollow')
);
С link
метод, который вы должны запомнить, чтобы Cake не избежал img
использование тегов 'escape' => false
, Если вы отключите экранирование таким образом, это будет работа, помня, чтобы экранировать любой предоставленный пользователем текст, используя h()
метод для предотвращения любого внедрения HTML (я показал это в моем примере, оборачивая слово "испанский", но это необходимо, только если это происходит из переменной).
Если вы используете торт2, смотрите эту ссылку на кулинарную книгу
echo $this->Html->image("spain.jpg", array(
"alt" => "Spanish language",
'url' => array('controller' => 'settings', 'action' => 'lang', 'spa')
));