Facebook like pour Prestashop, choix de la vignette

Like Facebook

Ajouter un bouton like à une page prestashop est relativement aisé.

A l'activation, la page est enregistrée par Facebook, titre et description étant acquis automatiquement depuis les meta.

Le problème peut venir de l'image choisie pour illustrer la page. En absence d'image désignée, Facebook la détermine lui-même.

Pour contrôler ce qui sera choisi, l'idéal est d'ajouter une balise image_src.

 

Deux étapes :

Dans le header.tpl, ajouter :

{if isset($image_src) AND $image_src}
<link rel="image_src" href="/{$image_src}" />
{/if}

Simple, si aucun 'image_src' n'est déterminé, le HEAD n'est pas modifié.

Reste à créer image_src dans Tools.php :

Repérer dans la méthode getMetaTags le code correspondant à l'objet appelé et lui créer un $image_src via $row['image_src'].

Ici, pour un produit, on récupère le tableau des images et on sélectionne la cover en taille medium.

$product = new Product(intval($id_product), true, intval($id_lang));
$images = $product->getImages(intval($id_lang));
$productImages = array();
foreach ($images AS $k => $image)
{
if ($image['cover'])
{
$link = new Link();
$row['image_src'] = ($link->getImageLink($row['produitLinkrewrite'],intval($id_product).'-'. $images[0][id_image], 'medium') );
}
}

 

Pour Symfony, l'adjonction d'un slot permet de gérer l'image correctement.

Et, bien entendu, ne pas oublier de gérer correctement le contenu de la balise meta description et la balise title si on veut que le texte du like soit convenable.

 
Copyright © 2019 Christophe Thibault, conseil IT.. Tous droits réservés.