2010-11-24 23 views
1

J'utilise CakePHP.Comment ajouter des attributs à un lien créé avec la méthode image à partir de HTMLHelper dans CakePHP?

Cette ligne de code génère une balise <img>:

$html->image('image.png', array('alt', 'Alternative text')); 

Et cela va générer la même chose, mais il fera l'cliquable image:

$html->image('image.png', array('alt' => 'Alternative text', 'url' => 'http://www.example.com')); 

Jusqu'à présent, je comprends, mais Que puis-je faire si je veux ajouter des attributs à la balise <a>.

Faire ceci:

$html->image('image.png', array('alt' => 'Alternative text', 'url' => 'http://www.example.com/', 'class' => 'aClass')); 

ajoutera l'attribut à <img> au lieu de <a>. La sortie est quelque chose comme ceci:

<a href="http://www.example.com/"> 
    <img src="image.png" alt="Alternative text" class="aClass" /> 
</a> 

Mais je veux quelque chose comme ceci:

<a href="http://www.example.com/" class="aClasse"> 
    <img src="image.png" alt="Alternative text" /> 
</a> 

J'ai essayé de le faire comme un $html->link() en utilisant un $html->image() comme premier paramètre, mais cela n'a pas fonctionné.

Une idée?

Répondre

1

Oui, vous devrez utiliser la méthode HTML helper link et dites-lui de ne pas échapper le titre, ce qu'il fait par défaut, en ajoutant le paramètre 'escape' => false. S'il vous plaît lire le manuel, il est expliqué là: http://book.cakephp.org/view/1442/link