[résolu] remplacer un lien texte d'un module par une image ?

Catégories:

bonjour, je prend pour exemple le module private message.
dans les nodes, il y a un lien «write to author».
je voudrais remplacer ce texte lien par une image.
le code d’origine est :

}
if ($access[$node->uid]) {
return array(l(t(‘write to author’), «privatemsg/msgto/$node->uid»)) ;
}
}
}

donc je pense qu’il faut deja mettre un :

$links = array() ;

et remplacer le texte par l’adresse d’une image mais ca marche pas.

MERCI de m’aider !!

#

j’ai testé ca mais ca marche pas, ca m’affiche le chemin de l’image avec le lien mais pas l’image :

$links = array(); (>>>rajouté)

if (user_access('access private messages') && ($type == 'node' || $type == 'comment') && variable_get("privatemsg_link_$type", 0) && (isset($user->privatemsg_allow) ? $user->privatemsg_allow : 1)) {
    if (!isset($access[$node->uid])) {
      $author = user_load(array('uid' => $node->uid));
      $access[$node->uid] = user_access('access private messages', $author) && (isset($author->privatemsg_allow) ? $author->privatemsg_allow : 1);
    }
    if ($access[$node->uid]) {

$links[] = l('<img src="IMAGE.jpg" />', "privatemsg/msgto/$node->uid");

#

Il serait peut-être préférable (plus propre) de ne pas modifier le code du module et de t’appuyer sur le thème mais cela devrait fonctionner :

    if ($access[$node->uid]) {
      return array(l('<img src="image.jpg" />', "privatemsg/msgto/$node->uid",,,,,TRUE));
    }

Le dernier paramètre permet de spécifier à Drupal que tu as saisi de l’html en tant que texte du lien.

#

merci !

en fait j’avais deja essayé avec TRUE, mais au final, ca me met RIEN du tout.

Mais j’avais mis qu’une seule virgule.
Je vais tester.

effectivement au début j’ai inséré les images avec les codes php des lien manuellement dans les templates via le module ckk contemplate, mais il y a probleme, malgrés le css (margin), les links en bas d’une node «mangent» sur le titre de la node qui se trouve en dessous.

j’ai donc remédié à modifier directement les codes de links des modules.

SI tu connais une autre solution, dis moi ! :)

Voila un module qui serait bien pratique ! changer les liens texte par des images !

#

OKAY !! quelques modifs sur ton code et ca marche maintenant !!!
super !

voila le code pour ceux que ca interresse :

if ($access[$node->uid]) {
return array(l('<img src="IMAGE.jpg" />',  "privatemsg/msgto/$node->uid",NULL, NULL, NULL, NULL, TRUE));

Syndiquer le contenu