[Resolu]fonction l() avec image

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour, je souhaiterais faire un lien sur une image dans un template, mais je ne comprends pas très bien la syntaxe de l() vu sur l'API http://api.drupal.org/api/function/l/6

Je souhaiterais mettre ceci dans mon lien

<img src="<?php global $base_url; echo $base_url; ?>/sites/all/themes/basic/css/images/picto-caddie.png" alt="Site web <?php print $title; ?>" />

<?php
l
($img, $path, array(
     
'attributes' => array(
     
'class' => 'link',
    
    )
  )
);

//pour $img où dois je mettre le global $base_url ?
$img=<'img src="'.$base_url.'/sites/all/themes/basic/css/images/picto-caddie.png" alt="Site web '.$title.'" />';

$path=$node->field_profil_adh_website[0]['view'];
?>

Merci de votre aide

Après réflexion c'est la fonction url() qu'il faut utiliser, mais là encore moins d'infos, où met-on le texte qui doit recevoir le lien?

Forum : 
Version de Drupal : 

Hello
à titre d'exemple car j'ai peut être mal compris la question après relecture...
avec la fonction l()

<?php
$image
= '<img src="'. base_path().path_to_theme(). '/images/bla.jpg"/>';
print
l($image, 'node/26', array('html' => TRUE));
?>

avec la fonction url()

<?php
$image
= '<img src="'. base_path().path_to_theme(). '/images/bla.jpg"/>';
print
'<a href="'. url('node/26') .'">' .$image. '</a>';
?>

Je n'ai jamais eu besoin d'utiliser base_url, base_path() suffit.

edit : je dis ça de mémoire, c'est pas garanti 100% sans coquilles :-)

merci,

ça fonctionne a peu près mais ça m'affiche le lien texte en plus de l'image et ça ne pointe pas au bon endroit.(voir image jointe)

mon code

<?php
$image
= '<img src="'. base_path().path_to_theme(). '/css/images/picto-caddie.png" alt="Site web '.$title.'"/>';
$path=$node->field_profil_adh_website[0]['view'];
print
'<a href="'. url($path).'">' .$image. '</a>';
?>

Comment faire pour masquer le texte de l'adresse du lien et avoir le bon chemin?

Le problème c'est que ci je fais un print$path j'obtiens
<a rel="nofollow" target="_blank" href="http://www.armandthiery.fr">http://www.armandthiery.fr</a>

Comment faire pour remplacer le texte affiché par l'image?

Si je comprends bien tu veux remplacer le texte du lien (crée par un cham CCK) par un logo. A mon avis il doit exister une autre version de ta variable avec UNIQUEMENT le chemin et pas le html qui va avec. fait un :

<?php
echo '<pre>';
print_r($node);
echo
'</pre>';
?>

pour la trouver