Balise meta

flipflipflipflip Member
juin 2012 modifié dans Discussions générales
Bonjour,

En voulant personnaliser les metas pour la publication de lien via facebook avec cette méthode (http://www.blogoflip.fr/article129/facebook-vignettes-et-descriptions) je me suis rendu compte d'une contrainte. Les fonctions :
<?php $plxShow->meta('description') ?>
<?php $plxShow->meta('keywords') ?>

Renvoie directement les balises html donc pas moyen de récupérer directement la valeur de content. Certains vont dire que c'est pas grave peu de moteur utilisent encore les meta mais dans le cas de facebook c'est un moyen (en utilisant les balises og:...) de personnaliser la description, le titre récupéré lors de la publication de lien. Je pourrais passer par un plugin mais c'est dommage de dupliquer une donnée.

J'ai un string de l'array

Réponses

  • Salut


    peut-être peux-tu t'inspirer de l'astuce du Lapin bleu: Jouer avec la meta-balise "Description" ..?
  • Salut, c'est parfait ça marche avec ta solution.
    Merci

    J'ai un string de l'array

  • FrancisFrancis Member
    juin 2012 modifié
    Bonjour Flipflip,
    Pour ton problème, la solution proposée par Danielsan est la meilleure.


    Mais si on veut généraliser et pour ceux que ça intéresserait, il y a moyen d'intercepter un contenu envoyé par "echo", et de le mettre dans une variable pour le traiter avant affichage :
    ob_start();
    echo "Texte à afficher....";
    $texte = ob_get_clean();
    
    Grâce à la fonction ob_start, l'instruction "echo" place le contenu dans un tampon au lieu de l'afficher, ce tampon de sortie pouvant être récupéré dans une variable avec ob_get_clean.


    J'ai eu ce genre de problème, et j'étais bien embêté jusqu'à ce que je découvre ces fonctions de bufferisation de sortie : http://cz2.php.net/manual/fr/ref.outcontrol.php


    Elles sont bien utiles avec PluXml, dont bon nombre de fonctions (notamment dans la classe plxShow) affichent directement le résultat avec l'instruction echo.
  • On pourrait peut-être demander si une fonction native utilisant plxShow nous permettrait pas de récupérer n'importe quel champ de la page ..?
    du style
    $ma var = $plxShow->getChamp['le_champ'];
    
    si le champ existe on retourne sa valeur sinon ... on fait tout péter ! ^^^
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    vous pouvez accèder à partir du thème à plusieurs variables directement avec ce genre de syntaxe
    $plxShow->plxMotor->aConf['xxx']
    
    $plxShow->plxMotor->plxRecord_arts->f('title')
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • J'allais le dire ^_^
  • c'est qu'on est fainéant !
    Vous ne vous rendez pas compte de tout ce qu'il faut écrire:
    $plxShow->plxMotor->plxRecord_arts->f('title');
    
    alors qu'un
    $plxShow->getChamp['le_champ'];
    
    c'est plus court !!! ^^^
  • Cette méthode $plxShow->plxMotor->... est intéressante, mais elle ne s'applique qu'à certaines variables. D'ailleurs, ce serait bien d'en avoir la liste, mais peut-être que Croque-Odille nous prépare ça....


    Si on prend l'exemple de la fonction comme lastArtList() qui affiche directement la liste des derniers articles avec "echo", on obtient un message d'erreur en écrivant $plxShow->plxMotor->lastArtList().

    ob_start() est pour l'instant la seule façon de récupérer le contenu envoyé par cette fonction lastArtList(), pour le traiter et l'afficher différemment.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Francis a écrit:
    Si on prend l'exemple de la fonction comme lastArtList() qui affiche directement la liste des derniers articles avec "echo", on obtient un message d'erreur en écrivant $plxShow->plxMotor->lastArtList().

    Normal: lastArtList() est une méthode de la classe plxShow et pas de plxMotor, contrairement à aConf et plxRecord_arts qui appartiennent à plxMotor.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Effectivement, j'ai cru un instant que, par magie, on pourrait récupérer sous forme de variable tout ce qu'affichent les fonctions de la classe plxShow !
    Je conserve donc la fonction ob_start() pour faire ça, mais heureusement elle est simple à utiliser.
Connectez-vous ou Inscrivez-vous pour répondre.