Salut!

Tout est dans le titre ;-)

Je cherche à customiser un message d'erreur. Pour cela je voudrais bien insérer du code html dans un champ de type string.

Voici mon exemple :

// Message d'erreur en cas de mauvaise saisie
if ( $this->Form->isFieldError( 'name' ) ) {
    echo $this->Form->error( 'name', 
        'Le nom du produit est incorrect<a href="#" class="close">Close</a>', // notification d'erreur 
        array( 'wrap' => 'div', // la notification est wrappée dans un bloc <div>
            'class' => 'alert-wrapper error clearfix push-down', // classes du bloc wrapper de la notification
        ) 
    );
}

Je ne sais pas comment faire interpréter le morceau : <a href="#" class="close">Close</a>
car Cake fait un htmlentities()

Des idées?
Merci d'avance!

4 réponses


Grafikart
Réponse acceptée

N'hésite pas à aller dans l'API dans ce genre de cas. en fait là ou tu met le wrap et la class tu peux aussi mettre "escape"=>false qui indique à Cake de ne pas faire son méchant htmlentities :)

nvergnes
Auteur

Excellent! Je suis allé sur la doc de l'API mais j'ai pas capté que "escape" servait à échapper du html... Logique pourtant ^^
Merci!

C'est la même chose sur le helper Html::link au passage :)

nvergnes
Auteur

On voit les années de pratique! ;-)
Merci à toi en tout cas! J'allais m'attaquer au DOM en jQuery, ça aurait été vraiment sale...
Et merci pour tes tutos :-). Je gagne un temps monstre grâce à toi! En ce moment je fais un ecommerce avec Cake. Je suis novice en Cake. Heureusement j'ai des bonnes bases Java et un prof virtuel! ;-)
Longue vie à Cake!