Meta facebook image


6 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour, je suis sous vers 6.4

J'ai une question concernant les meta facebook, je souhaite ajouter les differents meta (cela ne pose aucun probleme) hormis le meta og:image

car je ne sais pas ou aller chercher l'image. J'ai ajoute les meta sur la page display.php

J'ai tente plusieurs essais dont :

<meta property="og:image" content="' . $GLOBALS['repertoire_upload'] . '/' . $product_images[1] . '" />

mais l'url de l'image n'apparait pas, je dois faire une erreur de logique sans doute mais mes competences limitees en php rendent cette logique parfois bancale

Une idee ?

Merci de votre soutien

Anh

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Qu'entendez-vous par "mais l'url de l'image n'apparait pas" ? L'URL est mal générée dans votre HTML, ou Facebook ne semble pas en tenir compte ?

Pour information, il faut tabler au minimum sur 200x200px pour les images de ce type et un ratio maximum largeur/hauteur de 3:1, sinon elles sont a priori refusées par Facebook.

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Gilles,

Non lorsque je regarde mon code source il apparait seulement <meta property="og:image" content="http://xxx.fr/upload/ " /> c'est a dire que dans mon entete $product_images[1]  n'est pas compris ou mal geree dans l'html.

Je ne comprends pas trop car j'utilise sur une autre page dans un slideshow ' . $GLOBALS['repertoire_upload'] . '/' . $product_images[1] . ' et j'ai bien mon image qui apparait, donc en theorie dans le <head> l'url de l'image devrait aussi s'afficher, non ? ou je fais une erreur de logique ?

En effet sur facebook developper ils conseillent meme une taille de 600x315 pixels voir 1200x630, je suis les conseils sur https://developers.facebook.com/docs/sharing/best-practices#tags

Merci Gilles de vos lumieres

Anh

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Votre problème est donc que $product_images n'est pas défini à cet endroit-là (il n'a aucune raison de l'être) et il vous faut donc procéder à la récupération d'image du produit, soit en allant chercher directement dans la table produit la colonne image1, soit en instanciant un objet Product et en utilisant la méthode get_product_main_picture().

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Gilles, je reviens sur ce sujet car je n'ai pas trouve la solution pour le moment. J'ai suivi votre conseil, je comprends que dans la partie meta $product_images n'est pas défini. Vous dites d'utiliser la methode get_product_main_picture().

J'ai trouve sur display_product

if (!function_exists('get_product_in_container_html')) {
function get_product_in_container_html(&$product_object, $only_show_products_with_picture = true)
    {
        $output = '';
        if (!empty($product_object->id) && !empty($product_object->etat)) {
            $urlprod = $product_object->get_product_url();
            $display_picture = $product_object->get_product_main_picture();

 

par contre je ne comprends pas comment appliquer cela entre mes balises meta

<meta property="og:title" content="' . trim(strip_tags(String::html_entity_decode_if_needed(str_replace(array("\r", "\n"), '', $m['meta_titre'])))) . '" />
<meta property="og:description" content="' . $meta_desc . '" />

<meta property="og:image" content="' . $GLOBALS['repertoire_upload'] . '/' . $product_images[1] . '" />

Un petit coup de main s'il vous plait

Merci beaucoup

Anh

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Pour utiliser la fonction get_product_main_picture de la classe Product, vous devez initialisé la classe product, et en paramètre de Product il faut mettre l'id du produit. Il faut exécuter ce code uniquement si on est dans la page de détail de produit, ce qui est possible avec la constante IN_CATALOGUE_PRODUIT. Donc ça donnerais
if (defined('IN_CATALOGUE_PRODUIT')) {
$product_object = new Product($_GET['id']);

}

=> Vous pouvez ensuite utiliser les méthodes de la classe Product, notamment get_product_main_picture

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

Twitter Advisto ecommerce

Facebook PEEL Shopping