Lien avec $plxShow->lang

Bonjour

Ma question est un peu bête mais je n'arrive pas a ecrire un lien en utilisant $plxShow->lang


J'ai fais ça :
[== PHP ==]
 echo'<a href=":/chemin/fichier.php" ><?php $plxShow->lang('MONLIEN')?></a>'; 	

Où est l'erreur ?

merci d'avance

a+

Réponses

  • Salut,

    peut-être comme ceci ?
    [== PHP ==]
    echo'<a href=":/chemin/fichier.php" >'.$plxShow->lang('MONLIEN').'</a>';
    

    (si c'est dans un fichier thème)


    à plus,

    Gzyg
  • la méthode "lang" s'occupe déjà de l'affichage donc tu peux faire ça :
    echo '<a href="/chemin/fichier.php">';
    $plxShow->lang('MONLIEN');
    echo '</a>';
    

    ou bien en mode chaine de caractères avec la méthode "getLang" :
    echo '<a href="/chemin/fichier.php">' . $plxShow->getLang('MONLIEN') . '</a>';
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    <?php $plxShow->lang('MONLIEN')?>
    

    affiche le message comme s'il y avait un echo
    <?php $plxShow->getLang('MONLIEN')?>
    

    renvoie la chaine traduite, à utiliser dans la concatenation de chaine

    @grisbi: dans ton cas il faut utiliser :
    echo '<a href=":/chemin/fichier.php">'.$plxShow->geLang('MONLIEN').'</a>';
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Je sais pas pourquoi mais la version de stéphane ou la seconde de mathieu ou même Gzyg
    ne fonctionne pas elle affiche bien la traduction mais pas sous forme de lien

    seule la premiere version de mathieu fonctionne

    peut être un hic! dans la méthode par concaténation ?

    merci

    a+
  • StéphaneStéphane Member, Former PluXml Project Manager
    dans mon exemple je me suis trompé j'ai écrit geLang au lieu de getLang

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • PierrePierre Member
    février 2016 modifié
    Mise à part l'orthographe, c'est bien un cas de concatenation comme tu le soupçonnais.

    Puisque ton exemple utilise une chaîne ECHO qui est déjà une commande PHP, les fonctions utilisées à l'intérieur de cette chaîne n'ont pas besoin de (lire: ne doivent pas) invoquer le mode php (avec les balises <?PHP et ?>) mais simplement de sortir de la chaîne avec l'apostrophe, insérer la fonction entre deux points, puis redémarrer la chaîne avec l'aspostrophe suivant.

    La première version de mathieu fait la même chose mais en terminant la fonction ECHO avec le point-virgule, insérant la fonction de pluxml, sans points puisqu'elle n'interrompt pas une chaîne, puis en démarrant avec ECHO une nouvelle chaîne de caractères pour le reste de la phrase. Sa deuxième illustre l'autre méthode.

    Les deux méthodes se valent, elles sont très pratiques quand on veux rapidement bâtir une portion ou laisser les morceaux séparés pour pouvoir facilement les copier coller ou autre raison.

    À l'extrême, on peut sortir complètement de PHP et utiliser une version très découpée, un peu excessive:
    [== PHP ==]
    <?PHP echo '<a href=":/chemin/fichier.php">'; ?>
    
    <?PHP  $plxShow->lang('MONLIEN'); ?>
    
    <?PHP echo '</a>'; ?>
    

    mais c'est bien trop explicite pour les besoins courants.
Connectez-vous ou Inscrivez-vous pour répondre.