• 0
Marie-Anne

Récupération des infos des balises title et description

Question

Marie-Anne    6

Bonjour,

Je cherche la façon de récupérer le contenu des balises titre et description pour pouvoir remplir automatiquement les balises Open Graph selon la page où on se trouve.

<meta property="og:title" content="??" >
<meta property="og:description" content="??">

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

47 réponses à cette question

Messages recommandés

  • 0
CroqueWeb    101

Extrait de la dernière 8.3.14 :

	/**
	 * Affiche le meta titre
	 */
	public function showMetaTitle() {
		echo '<title>' . $this->core->output['metaTitle'] . '</title>';
		echo '<meta property="og:title" content="' . $this->core->output['metaTitle'] . '" />';
	}

	/**
	 * Affiche la meta description
	 */
	public function showMetaDescription() {
		echo '<meta name="description" content="' . $this->core->output['metaDescription'] . '" />';
		echo '<meta property="og:description" content="' . $this->core->output['metaDescription'] . '" />';
	}

	/**
	 * Affiche le type
	 */
	public function showMetaType() {
		echo '<meta property="og:type" content="website" />';
	}

Je pense que ce n'est pas la bonne méthode, je te rappelle qu'il manque encore d'autres balises, comment feras-tu ? Tu ajoutes une 2ème méthode, puis une 3ème pour Og:site_name ? (par ex.)

A mon sens le mieux est de regrouper ces meta balises dans une seule méthode, comme ceci :

	/**
	 * Affiche le meta titre
	 */
	public function showMetaTitle() {
		echo '<title>' . $this->core->output['metaTitle'] . '</title>';
	}

	/**
	 * Affiche la meta description
	 */
	public function showMetaDescription() {
		echo '<meta name="description" content="' . $this->core->output['metaDescription'] . '">';
	}

	/**
	 * Affiche les meta balises pour l'open graph
	 */  
	public function showOGmeta() {
	echo '<meta property="og:title" content="' . $this->core->output['metaTitle'] . '">';
	echo '<meta property="og:description" content="' . $this->core->output['metaDescription'] . '">';
	echo '<meta property="og:type" content="website">';
	}

Méthode à laquelle il faudra ajouter l'image et éventuellement le nom du site.

Puis renseigner les fichiers correspondants dans layout avec :
 

<?php $layout->showOGmeta(); ?>

 

Ce sera plus clair, ça permettra à qui le veut d'ajouter manuellement d'autres balises OG sans trop se perdre dans le code source entre <head> et </head> tout en libérant les balises html obligatoires, et ça laissera la possibilité de choisir de mettre son site en relation avec Facebook, ou pas. C'est plus qu'une option, c'est une liberté.

 

 

 

 

 

 

 

 

 

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
CroqueWeb    101
il y a 5 minutes, Marie-Anne a dit :

ça avance à grand pas

Ben tiens, justement vu que tu passes dans le coin, que penses-tu de cette avancée, en l'état des débats ?

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Marie-Anne    6
il y a 6 minutes, CroqueWeb a dit :

Ben tiens, justement vu que tu passes dans le coin, que penses-tu de cette avancée, en l'état des débats ?

Je trouve cela à la fois instructif car ça me remet en route sur l'apprentissage du codage et aussi que sa lancée de nouveaux défis pour Zwii. 

L'optimisation et toujours d'actualité :)

Comme je l'ai déjà dis, Zwii à un très bon support. 

Demain matin je mettrais tout ça à jour :innocent:

Modifié par Marie-Anne
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
CroqueWeb    101
il y a 53 minutes, Marie-Anne a dit :

Demain matin je mettrais tout ça à jour

Oui, il faut toujours en garder pour le lendemain ;)

A demain

 

PS : voici les fichiers à remplacer (dernière Zwii 8314f) : implementation-opengraph.7z

Modifié par CroqueWeb

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Marie-Anne    6

Merci Cybertaf, je modifie juste les fichiers à la main sur la version stable, cela n'engendre rien comme ça.
Avec les sauvegardes pas de soucis.
En attente d'une future mise à jour ^^ les balises Open Graph FB et Tweet servent surtout pour partager le contenu de site professionnel, un petit plus ^^
Mais il est vrai qu'un module Open Graph serait plus utile comme ça les personnes choisiront si ça leur sert ou pas.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
PeterRabbit    324
Il y a 1 heure, Marie-Anne a dit :

Mais il est vrai qu'un module Open Graph serait plus utile comme ça les personnes choisiront si ça leur sert ou pas.

 

Tout à fait, @Marie-Anne ! Il va d'ailleurs falloir que je me renseigne sur ce truc – histoire de ne pas mourir ignare. :$

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
cybertaf    89
il y a 53 minutes, PeterRabbit a dit :

 

Tout à fait, @Marie-Anne ! Il va d'ailleurs falloir que je me renseigne sur ce truc – histoire de ne pas mourir ignare. :$

A chaque fois qu'un site ou une page est partagé, ces balises permettent de rendre le partage correctement formaté avec une capture d'écran, etc...

On peut donc dire qu'elles sont intrinsèquement indispensables pour tout partage sur un réseau social effectué par un visiteur.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
PeterRabbit    324

C'est bien ce que je pensais. Je ne partage que du concret (des carottes ou l'équivalent) et je ne fréquente absolument pas les réseaux sociaux. Donc, pour moi, ce serait mieux sous la forme d'un module. Mais bon...

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
cybertaf    89
il y a 42 minutes, PeterRabbit a dit :

C'est bien ce que je pensais. Je ne partage que du concret (des carottes ou l'équivalent) et je ne fréquente absolument pas les réseaux sociaux. Donc, pour moi, ce serait mieux sous la forme d'un module. Mais bon...

 

Imagine que l'un de tes visiteurs partage ta page... au lieu d'avoir un lien tout pourri, le site s'affiche proprement.

 

De toute façon, ça n'enlève rien à l'usage courant, mais ça importe pour les développeurs Web qui cherchent du trafic.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
PeterRabbit    324

OK, @cybertaf, je suis convaincu même si je n'ai qu'une très vague idée du partage dont tu parles. Pour résumer, même si on vit au fond de son terrier, il faut prendre en compte du train où le monde va. :mrgreen:

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
cybertaf    89
il y a 1 minute, PeterRabbit a dit :

OK, @cybertaf, je suis convaincu même si je n'ai qu'une très vague idée du partage dont tu parles. Pour résumer, même si on vit au fond de son terrier, il faut prendre en compte du train où le monde va. :mrgreen:

 

En effet :)

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
cybertaf    89

J'ai mis en ligne une version dev 8.3.14g qui prend en compte le dernier tag celui de la copie d'écran du site.
Ça fonctionne comme ça : lorsqu'on accède aux paramètres du site, si le script ne trouve pas l'image screenshot.png dans le dossier site, il génère une copie d'écran dans le bon format. Cette copie d'écran est réalisée sur la base d'un appel à un utilitaire Google.

Pour rafraîchir cette copie d'écran on l'efface et on accède à la page des paramètres, j'avais ajouté un bouton mais un truc cloche que je n'ai pas identifié.
Enjoy...
 

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • Contenu similaire

    • Par PeterRabbit
      Ce serait parfois pratique d'intégrer un bout de code PHP directement dans une page de son site. Mais comment faire ?
      Utiliser le bouton " {;} " affiche le code, mais il ne s'exécute pas. Quand on intègre du PHP dans le source (<>), TinyMCE le supprime avant même qu'on enregistre la page. Les solutions présentées sur le net, comme celle-ci, ne semblent pas fonctionner, contrairement à ce qui est affirmé.  
      Et pourtant, c'est possible :
       

       
       
      L'autre jour, j'ai eu une idée bête : et si on faisait un détour ? Peut-être que Tiny n’interpréterait plus le code ?
      Bingo ! Un détour par les templates, et ça marche... 
       
      Tutoriel 
      Créez un nouveau fichier dans "core/vendor/tinymce/templates" et nommez-le "phpinfo.php". Éditez-le pour ajouter le code PHP : <?php phpinfo(); ?> Éditez le fichier de configuration de Tiny "core/vendor/tinymce/init.js" et ajoutez le nouveau template à la ligne 86 (par exemple). { title: "Php info", url: baseUrl + "core/vendor/tinymce/templates/phpinfo.php", description: "Affiche la configuration de PHP." }, Éditez votre page et placez-le à l'endroit voulu (+ > Modèle) – il faudra sans doute vider le cache du navigateur (CRTL MAJ Suppr sur Chrome ou Firefox entre autres) pour qu'il s'affiche dans la liste déroulante des thèmes :   

       
       
      Et voilà ! vous savez tout de la configuration de votre PHP directement depuis votre site ! 
       
      PS : Quand j'ai présenté le plugin "template" de TinyMCE l'an dernier en vantant son intérêt, je ne pensais pas que ça irait aussi loin. Et il doit y avoir encore pas mal de choses à découvrir...
    • Par Marie-Anne
      Salut à tous  
       
      je suis en train de travailler sur mon dernier point : l'optimisation du chargement des fichier javascript.
      Dans le fichier core.php si je rajoute l'attribut "async" a ce niveau : 
      // Détermine le type d'import en fonction de l'extension de la librairie $vendorFiles = json_decode(file_get_contents($vendorPath . 'inc.json')); foreach($vendorFiles as $vendorFile) { switch(pathinfo($vendorFile, PATHINFO_EXTENSION)) { case 'css': echo '<link rel="stylesheet" href="' . helper::baseUrl(false) . $vendorPath . $vendorFile . '">'; break; case 'js': echo '<script async src="' . helper::baseUrl(false) . $vendorPath . $vendorFile . '" ></script>'; break; Tout fonctionne bien, ma page fonctionne normalement sur mobile et gagne en temps d'affichage, mais un problème se pose, mon éditeur tinymce ne se charge plus 
      Quelqu'un aurait il une solution ? 
      j'utilise la version de CroqueWeb : TinyMCE plus complet
       
      Merci d'avance 
       
    • Par dangee
      Si comme moi, vous avez besoin de rajouter des balises "non conventionnelles" (comme itemtype ou itemprop ;)), vous ne pourrez pas avec la configuration de base de TInyMce.
      Pour modifier cela, ouvrez le fichier init.js dans le répertoire /core/vendor/tinymce et ajoutez le code suivant après la langue.
      //valid extended_valid_elements: "*[*]", verify_html : false, cleanup : false, et voilà :))