Aller au contenu
Support de Zwii
  • 0
Marie-Anne

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

Question

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

Messages recommandés

  • 1

Méthode incluant le nom du site :

	/**
	 * 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:site_name" content="'. $this->getData(['config', 'title']) . '">';
	echo '<meta property="og:type" content="website">';
	}

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 1

Ajout dans les fichiers .php de core/layout :

<?php $layout = new layout($this); ?>
<!DOCTYPE html>
<html xmlns:og="http://ogp.me/ns#">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<?php $layout->showMetaTitle(); ?>
	<?php $layout->showMetaDescription(); ?>
	<?php $layout->showOGmeta(); ?>
	<?php $layout->showFavicon(); ?>
	<?php $layout->showVendor(); ?>

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour @Marie-Anne,

 

Ces instructions devraient te permettre de récupérer les deux données que tu veux :

$titre = $this->getData(['page', $this->getUrl(0), 'title']);
$metaDescription = $this->getData(['page', $this->getUrl(0), 'metaDescription']);

Pour la suite, je ne peux rien te dire, ne connaissant pas la chose. o.O

 

Pour mieux comprendre comment fonctionne la "base de données" de Zwii, édite "site/data/data.json" (après avoir fait une copie de sauvegarde, bien entendu xD), copies-en le contenu et colle-le dans la fenêtre de ce site. Un clic sur le bouton "Unminify", et voici :

 

unminify.jpg.5974591fcd2e0db36a47204f30922c8d.jpg

 

C'est tout de même plus parlant ! 

 

 

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

@Marie-Anne il y a deux méthodes dans core.php pour retourner le titre et la description : 

 

/**
 * 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'] . '">';
}

Il faut ajouter les balises dans les méthodes ci-dessus. Le mieux serait de voir avec @cybertaf, @CroqueWeb ou @PeterRabbit pour faire un intégration dans une prochaine mise à jour du CMS ;) .

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour @Marie-Anne

Et bienvenue chez ZwiiCMS

Pour renseigner ces balises de manière automatique, édite comme tu l'as déjà fait le fichier core/layout/main.php et ajoute ceci :

<meta property="og:title" content="<?php echo $this->getData(['config', 'title']); ?>">
<meta property="og:description" content="<?php echo $this->getData(['config', 'metaDescription']); ?>">

à partir de la ligne 11

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 1 heure, CroqueWeb a dit :

Bonjour @Marie-Anne

Et bienvenue chez ZwiiCMS

Pour renseigner ces balises de manière automatique, édite comme tu l'as déjà fait le fichier core/layout/main.php et ajoute ceci :


<meta property="og:title" content="<?php echo $this->getData(['config', 'title']); ?>">
<meta property="og:description" content="<?php echo $this->getData(['config', 'metaDescription']); ?>">

à partir de la ligne 11

 

Y a un mauvais point avec cette technique, si la page intègre un méta titre ou une méta description, ils ne seront pas utilisés pour les balises open graph ( et vis versa avec la technique de PeterRabbit). C'est pour ça que ce serait bien de développer un truc rapidos pour l'intégrer (c'est un gros plus pour les réseaux sociaux) :) .

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonsoir

Je n'avais pas saisi qu'il faut que ce soit le titre et la description de chacune des pages qui doit apparaître dans ces balises

Mon exemple ne permet d'afficher que le titre et la description commune à tout le site

Pour afficher ces renseignements automatiquement pour chaque page, voici comment procéder :

  • Edite core/core.php, et place les lignes de code ci-desous à la ligne 1963
	//  Affiche les meta titre & description 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'] . '">';
	}
  • Edite ensuite core/layout/main.php et ajoute ceci ligne 11
<?php $layout->showOGmeta(); ?>

Tu auras alors les meta balises og renseignées avec le meta titre et la meta description de chacune de tes pages

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 9 heures, Rémi a dit :

Il faut ajouter les balises dans les méthodes ci-dessus. Le mieux serait de voir avec @cybertaf, @CroqueWeb ou @PeterRabbit pour faire un intégration dans une prochaine mise à jour du CMS ;) .

C'est un peu ce que je viens de faire, j'ai simplement ajouté une méthode, plutôt qu'ajouter les balises dans les méthodes existantes

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Je vois que tu as ajouté une série de balises pour Twitter, je suppose sur le même principe :

<meta property="og:title" content="Les nouvelles de la ferme - La ferme Du-Pâquis Fleury"><meta property="og:description" content="Exploitation maraîchère bio de légumes, aromates et fruits dans les respects de la nature et des animaux."><meta property="og:type" content="website" >
<meta property="og:site_name" content="La ferme Du-Pâquis Fleury" >
<meta name="twitter:title" content="Les nouvelles de la ferme - La ferme Du-Pâquis Fleury"><meta name="twitter:description" content="Exploitation maraîchère bio de légumes, aromates et fruits dans les respects de la nature et des animaux.">

ça présente tout de même l'inconvénient d'alourdir le code des pages, donc leurs poids.

Les rézosocios pourraient aussi bien utiliser les informations contenues dans les balises html disponibles, c'est un avis personnel, mais je trouve cette obligation d'ajout de balises propriétaires, bien que dites "open", abusive.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 13 minutes, CroqueWeb a dit :

Je vois que tu as ajouté une série de balises pour Twitter, je suppose sur le même principe :


<meta property="og:title" content="Les nouvelles de la ferme - La ferme Du-Pâquis Fleury"><meta property="og:description" content="Exploitation maraîchère bio de légumes, aromates et fruits dans les respects de la nature et des animaux."><meta property="og:type" content="website" >
<meta property="og:site_name" content="La ferme Du-Pâquis Fleury" >
<meta name="twitter:title" content="Les nouvelles de la ferme - La ferme Du-Pâquis Fleury"><meta name="twitter:description" content="Exploitation maraîchère bio de légumes, aromates et fruits dans les respects de la nature et des animaux.">

ça présente tout de même l'inconvénient d'alourdir le code des pages, donc leurs poids.

Les rézosocios pourraient aussi bien utiliser les informations contenues dans les balises html disponibles, c'est un avis personnel, mais je trouve cette obligation d'ajout de balises propriétaires, bien que dites "open", abusive.

 

Oui j'ai testé ^^ 

Je suis d'accord avec toi sur la façon d'obliger l'utilisation de balises propriétaires.

Pour le début je garde mais par la suite j’allégerais le code :lol: 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Il y a une balise mal renseignée sur ton site :

<link rel="prefetch" href="https://www.lafermedupaquisfleury.fr">

Le pré-chargement ne peut se faire que sur un fichier précis, tq une page, une feuille de style, une image ou un fichier JavaScript, cette mise en cache ne peut pas fonctionner avec une adresse globale de répertoire, ici la racine de ton site

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 8 heures, CroqueWeb a dit :

Il y a une balise mal renseignée sur ton site :


<link rel="prefetch" href="https://www.lafermedupaquisfleury.fr">

Le pré-chargement ne peut se faire que sur un fichier précis, tq une page, une feuille de style, une image ou un fichier JavaScript, cette mise en cache ne peut pas fonctionner avec une adresse globale de répertoire, ici la racine de ton site

Oups bien vu ^^ je suis en train de tester le prefetch sur ma page galerie :) je suis en cours de travail dessus.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

La version dev 8.3.14e (dispo à l'essai) prend en compte la modification des deux méthodes déjà incluses dans le core.php comme indiqué par Rémi

 

Il y a 19 heures, CroqueWeb a dit :
  • Edite ensuite core/layout/main.php et ajoute ceci ligne 11

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

Tu auras alors les meta balises og renseignées avec le meta titre et la meta description de chacune de tes pages

 

N'est pas suffisant la balise d'ouverture <html> doit également être modifiée comme suit :
 

<html xmlns:og="http://ogp.me/ns#">

Et il y avait 3 CSS à modifier : blank ; light et main

 

Problème résolu...

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 1 heure, cybertaf a dit :

modification des deux méthodes déjà incluses dans le core.php comme indiqué par Rémi

Il me semble plus pertinent d'ajouter une méthode, tel que je l"ai proposé, pour la clarté du code source d'une part, et pour éventuellement pouvoir supprimer cette obligation de se conformer aux réseaux sociaux en général, et à Facebook en particulier. De plus il manque les balises propriétaires de Twitter, et si encore un autre réseau social nous impose ses balises il nous faudra également les ajouter ?

 

Il y a 1 heure, cybertaf a dit :
Il y a 21 heures, CroqueWeb a dit :
  • Edite ensuite core/layout/main.php et ajoute ceci ligne 11


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

Tu auras alors les meta balises og renseignées avec le meta titre et la meta description de chacune de tes pages

 

N'est pas suffisant la balise d'ouverture <html> doit également être modifiée comme suit :
 


<html xmlns:og="http://ogp.me/ns#">

Et il y avait 3 CSS à modifier : blank ; light et main

 

Problème résolu...

 

Ce n'est toujours pas suffisant, en plus des balises Twitter, il manque la balise og image et la balise og type

Voici un exemple précis d'insertion de données Open Graph:

<html xmlns:og="http://ogp.me/ns#">
<head>
<title>Article sur l'Open Graph</title>
<meta property="og:title" content="Article sur l'Open Graph par Yakaferci" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://www.yakaferci.com/open-graph/" />
<meta property="og:image" content="http://www.yakaferci.com/images/yakaferci_small.jpg" />
...
</head>
...
</html>

(https://www.yakaferci.com/open-graph/)

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à cette question…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


  • Contenu similaire

    • Par Fred
      Comme promis :
       
      Bientôt je vous parlerai de deux éditeurs php, vscodium et brackets avec les infos de config.
    • Par Fred
      Cette archive contient le serveur Web Laragon avec
      Apache 2.4.39 Php 7.3.2 Les avantages :
      Portable il fonctionne sans aucune installation, sur disque ou clé externe ou interne
      On peut passer d'une version de php à l'autre facilement
      Configuration stricte de l'affichage des erreurs, idéal pour le dév
      Utilisation :
      Décompressez
      Placez le dossier Laragon dans le bon lecteur
      Cliquez sur Laragon.exe
      Validez les fenêtres du pare-feu
      Cliquez sur web pour afficher Localhost
      Cliquez sur Dossier www pour le dossier web
    • Par Fred
      Serveur Web Laragon
      Voir le fichier Cette archive contient le serveur Web Laragon avec
      Apache 2.4.39 Php 7.3.2 Les avantages :
      Portable il fonctionne sans aucune installation, sur disque ou clé externe ou interne
      On peut passer d'une version de php à l'autre facilement
      Configuration stricte de l'affichage des erreurs, idéal pour le dév
      Utilisation :
      Décompressez
      Placez le dossier Laragon dans le bon lecteur
      Cliquez sur Laragon.exe
      Validez les fenêtres du pare-feu
      Cliquez sur web pour afficher Localhost
      Cliquez sur Dossier www pour le dossier web
      Contributeur Fred Soumis 02/07/2019 Catégorie Modifications et astuces  
×
×
  • Créer...