salut j ai developeé ce code là :

<?php

            echo $this->Js->link('Delete', // <== ici 
                    array('controller'=>'posts', 'action'=>'view',$v'Post']'id']),
                    array('update' =>'#inhaltbasket',
                          'before' => $this->Js->get('#'.$add)->effect('fadeOut'),
                          'success' => $this->Js->get('#'.$remove)->effect('fadeIn'))
            ); 
            ?>

j'aimerais bien remplacer ' Delete ' avec cette image :
<img src="/test/img/resources/images/home/delete.png" alt="Delete" style="display: inline" />

j ai essayé avec ce code là, mais ca fonction pas ...

echo $this->Js->link($this->Html->image('resources/images/home/delete.png',array('alt' => 'Delete','style'=>'display: inline')), 
            array('controller'=>'posts', 'action'=>'view',$v'Post']'id']),
            array('update' =>'#inhaltbasket',
                  'before' => $this->Js->get('#'.$add)->effect('fadeOut'),
                  'success' => $this->Js->get('#'.$remove)->effect('fadeIn'))
                                ); 
            ?>

j ai besoinde voutre aide svp..
merci d'avance !!

6 réponses


voici le code :

echo $this->Js->link($this->Html->image('delete.png',array('alt' => "Texte alternatif")), 
                               array('controller'=>'posts', 'action'=>'view',$v'Post']'id']),
                               array('update' =>'#inhaltbasket',
                                     'before' => $this->Js->get('#'.$add)->effect('fadeOut'),
                                     'success' => $this->Js->get('#'.$remove)->effect('fadeIn')),
                               array('escape' => false)
                        );

dommage mais ca fonction po :(
il m'affiche url de l'image aulieu de l image :

<img src="/test/img/delete.png" alt="Texte alternatif" />

ou est le probleme :

Bonsoir.
Pourquoi tu ne fais pas tout simplement avec du CSS ?
Tu mets la class delete par exemple sur ton lien en laissant du vide dans le libellé et dans ton CSS tu lui indique l'image correspondante.

je viens de faire ce que tu m as proposé ca fonction mais js helper (ajax) ne fonction pas :(, lorsque je click sur l image ne fait rien ,

echo $this->Js->link('', array('controller'=>'posts', 'action'=>'view',$v'Post']'id']),array('class'=>'more')
                               array('update' =>'#inhaltbasket',
                                     'before' => $this->Js->get('#'.$add)->effect('fadeOut'),
                                     'success' => $this->Js->get('#'.$remove)->effect('fadeIn')),
                               array('escape' => false)
                        );

Donc si je comprends bien, tu veux dire qu'avant d'essayer de mettre une image à la place du texte de ton lien, il fonctionnait, mais en faisant comme je t'ai dit, le lien ne fonctionne plus ?
Par contre, ce que je ne comprend pas, c'est le rapport entre une image qui représenterait une suppression et un lien qui mène vers une action permettant d'afficher un article.

Par défaut le JShelper met en cache, tu as bien mis ceci en fin de layout ou fin de vue ?

<?= $this->Js->writeBuffer(); ?>

oui je l' ai bien mis :(,
j aimerais bien integrer une image dans un link, $this->Js->link(......) ou y at il autre alternatif
mercid avance