Aller au contenu
Support de Zwii et Yocto
Marie-Anne

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

Messages recommandés

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

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

@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

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
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

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
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

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
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

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
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

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
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

Je pense que l'ajout de l'Open Graph Protocol devrait faire l'objet d'un plugin, plutôt que d'une implémentation définitive dans Zwii, et ainsi laisser le choix à l'utilisateur de ZwiiCMS d'utiliser, ou pas, les réseaux sociaux.

 

Modifié par CroqueWeb

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 à ce sujet…

×   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 danyelguero
      Lors de l'import d'image depuis mon poste, l'image s'importe mais au terme de l'upload j'ai le message qu'il manque la librairie GD.

       
      Après recherche , il s'agit du paquet php-gd ou pour ma version de php 7.3 php7.3-gd que j'ai donc installé.
       
      J'ai relancé apache2 et php mais le message persiste .
       
      De même les icônes présent au début de chaque article de blog dans la vue liste des articles ne s'affiche pas.
       
      Auriez-vous une idée??
    • Par pwepwe973
      Bonjour j'ai contacté que parfois en installant des plugins cela crée des code html dupliqué dans la page


         je ne sais pas d’où cela peu venir je me dis que cela peu alourdir les pages

      Cordialement @pwepwe973
    • 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...
×
×
  • Créer...