Dev plugin : intégrer lien externe dans article avec métadonnées Open graph

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Dev plugin : intégrer lien externe dans article avec métadonnées Open graph

    Bonjour,

    Je cherche désespérément une extension qui me permettrai d'intégrer des liens dans des articles à la manière de FB (style Open Graph).
    Merci pour vos idées!
    Dernière édition par milantuvic à 17/05/2015, 18h49

  • #2
    Re : Affichage lien dans article Open graphe like

    Je ne comprends pas. Tu veux:
    - intégrer des publications FB dans un article ?
    - exporter tes articles sur FB ( voir plugin Phoca Open Graph pour ça ) ?
    Ariane - webmaster
    Informatologue - 10 années d'expériences et toujours débutante

    Commentaire


    • #3
      Re : Affichage lien dans article Open graphe like

      Salut,
      En fait, je voudrai partager des liens sur mon site joomla de la même manière que je le faisais sur FB.
      Actuellement, lorsque j'intègre un lien dans un article sur joomla, il n'apparaît que le lien (ou le texte de remplacement si je l'indique).
      Or, je voudrai que soit chargé à la place de ce lien "sec" des infos principales de la page de destination, une image...de la même manière que le fait le moteur Open Graph de FB.
      Merci!!
      Cliquez sur l'image pour l'afficher en taille normale

Nom : Capture d’écran 2015-05-02 à 05.48.06.jpg 
Affichages : 1 
Taille : 9,3 Ko 
ID : 1804240

      Commentaire


      • #4
        Re : Affichage lien dans article Open graphe like

        Avec un cck comme flexicontent c'est possible de configuré chaque champs
        Après c'est peut être surdimensionner pour ton besoins
        Société : http://www.com3elles.com
        Bénévole : http://www.flexicontent.org

        Commentaire


        • #5
          Re : Affichage lien dans article Open graphe like

          Merci pour la réponse. J'ai essayé Flexicontent, c'est un peu surdimensionnés en effet.
          Je suis toujours à la recherche d'une solution simple..;

          Commentaire


          • #6
            Re : Affichage lien dans article Open graphe like

            J'ai trouvé une piste ici https://zunostudios.com/blog/develop...graph-metadata
            Puis j'ai construit un plugins autour de ce bout de code...mais que je n'arrive pas à faire fonctionner!!!

            JOOMLA ver3.4/Installation OK/Config plugins OK mais pas de récupération des infos OpenGraph ni intégration dans article...
            Voici le code du plugins...merci pour votre aide!

            Fichier d'install XML / weblink.xml
            Code:
            <?xml version="1.0" encoding="utf-8"?>
            <extension version="3.2" type="plugin" group="content" method="upgrade">
            	<name>plg_content_weblink</name>
            	<author>EB</author>
            	<creationDate>May 2015</creationDate>
            	<copyright>Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.</copyright>
            	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
            	<authorEmail>admin@joomla.org</authorEmail>
            	<authorUrl>www.joomla.org</authorUrl>
            	<version>3.1.0</version>
            	<description>PLG_CONTENT_WEBLINK_XML_DESCRIPTION</description>
            	<files>
            		<filename plugin="weblink">weblink.php</filename>
            	</files>
            
            	<config>
            		<fields name="params">
            			<fieldset name="basic">
            			
            				<field name="cats"
            				type="category"
            				extension="com_content"
            				label="Categories"
            				description="Categories to include plugin"
            				multiple="true" />
            				
            			</fieldset>
             
            		</fields>
            	</config>
            </extension>

            Code du plugins / weblink.php :
            Code PHP:
            <?php
            /**
             * @copyright   Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
             * @license     GNU General Public License version 2 or later; see LICENSE.txt
             */

            defined('_JEXEC') or die;


            class 
            plgContentWeblink extends JPlugin 
            {

                    public function 
            onContentBeforeSave($context, &$article$isNew)
                    {
                        
                        
            //Turn on all error reporting so we can see what's wrong
                        
            error_reporting(E_ALL);
                        
                        
            //Grab all the categories we've selected in our plugin
                        
            $cats $this->params->def('cats', array());
                        
                        
            //If the current article is in one of those categories
                        //Let's grab the Open Graph metadata
                        
            if( in_array($article->catid$cats) ){
                            
                            
            //JSON Decode the images and urls of the article
                            
            $images json_decode($article->images);
                            
            $urls json_decode($article->urls);
                            
                            
            //If either the are empty, let's get the tags
                            //OR if the introtext is empty, let's get the tags
                            
            if( !empty($urls->urla) && (empty($images->image_intro) || empty($article->introtext)) ){
                                
                                
            //Get Open Graph Meta Data
                                
            $data file_get_contents($urls->urla);
                                
            $dom = new DomDocument;
                                @
            $dom->loadHTML($data);
                                
                                
            $xpath = new DOMXPath($dom);
                                
            # query metatags with og prefix
                                
            $metas $xpath->query('//*/meta[starts-with(@property, \'og:\')]');
                            
                                
            $og = array();
                                
                                
            //Loop through all of the tags to add to $og variable
                                
            foreach($metas as $meta){
                                
                                    
            # get property name without og: prefix
                                    
            $property str_replace('og:'''$meta->getAttribute('property'));
                                    
                                    
            # get content
                                    
            $content $meta->getAttribute('content');
                                    
            $og[$property] = $content;
                                
                                }
                                
                                
            //If the image_intro is empty, and we have an Open Graph image
                                //Let's set the article's image_intro
                                
            if( empty($images->image_intro) && isset($og['image']) ){
                                    
            $images->image_intro $og['image'];
                                    
            $article->images json_encode($images);
                                }
                                
                                
            //If the introtext is empty and we have an Open Graph description
                                //Let's set the article's introtext—wrapping it with paragraph tags
                                
            if( empty($article->introtext) && isset($og['description']) ){
                                    
            $article->introtext '<p>'.$og['description'].'</p>';   
                                }
                                
                                return 
            true;
                                    
                            }
                                        
                        }
                    
                    }
            }
            Dernière édition par milantuvic à 07/05/2015, 18h00

            Commentaire


            • #7
              Re : Dev plugin : intégrer lien externe dans article avec métadonnées Open graph

              Ok j'ai trouvé
              Erreur apache :
              Code:
              PHP Warning:  Parameter 2 to plgContentWeblink::onContentBeforeSave() expected to be a reference
              Il fallait enlever & dans la ligne :
              Code PHP:
              public function onContentBeforeSave($context, &$article$isNew
              ça marche impec!

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X