since 2010 | 2726 reviews | 4.9/5 rated
cahcnhiet3m
I'm checking it
I'm trying, thanks for products







Data Feed Manager

Pour utiliser Facebook Product Feed et vendre sur Facebook, vous devriez savoir ce qu'est Commerce Manager et comment ça marche.
Voici quelques notions basiques sur Facebook et la gestion des flux de données.
Commerce Manager est l'outil de Facebook qui permet aux marchands de vendre sur cette plateforme, d'ajouter des stocks, de gérer des commandes...
Avec Commerce Manager, les commerçants peuvent vendre des produits sur Instagram, Facebook Marketplace, et Facebook Page Shops.
Pour soumettre vos produits à Facebook et Instagram, vous devez dans un premier temps posséder un compte Commerce Manager.
Cliquez sur le lien suivant pour créer un compte Commerce Manager : https://www.facebook.com/commerce_manager/get_started/
Une fois votre compte créé, vous aurez accès à l'interface de gestion de Commerce Manager où vous pourrez enregistrer votre flux de données et programmer une mise à jour quotidienne, hebdomadaire ou mensuelle.
Un flux de données est un fichier contenant l'intégralité des informations relatives aux produits que vous vendez. Les différentes informations sont décrites dans des attributs qui permettent aux clients de trouver vos produits lorsqu'ils effectuent une recherche. Ce fichier est construit autour d'un schéma RSS classique auquel sont associées des balises XML spécifiques à Facebook.
Pour plus d'informations sur la construction de ce fichier, vous pouvez vous reporter au support en ligne de Facebook : https://www.facebook.com/business/help/1898524300466211?id=725943027795860
Facebook Product Feed pour Magento 2 vous permet de configurer, générer et automatiser plusieurs fichiers de produits en quelques minutes pour Facebook.
Avant de pouvoir configurer vos flux de données, vous devriez vérifier que les paramètres généraux de l'extension vous conviennent. Pour cela, allez dans :
Stores › Settings › Configuration › Wyomind › Facebook Product Feed

Product URL = http://mywebsite.com/t-shirt.html
Shortest category URL = http://www.mywebsite.com/men/shirts/t-shirt.html
Longest category URL = http://mywebsite.com/men/new-arrivals/t-shirt.html

Pour créer et configurer vos flux de données, allez dans :
Catalog › Facebook Product Feed › Feeds
La grille liste tous vos flux de données ainsi que des informations supplémentaires :
Success : génération du flux de données réussie, manuellement ou automatiquement (corresponds à une planification)
Hold : en cours de génération (latences, statut indéterminé)
Processing : pourcentage de progression de la génération
Error : abandon de la génération
Editer
Générer
Prévisualiser (10 articles)
Supprimer

Cliquez sur Create new data feed pour configurer votre flux de données comme vous le souhaitez.
En créant un flux de données, vous devriez voir une boîte (toolbox) à droite de votre écran. L'extension Facebook Product Feed comprend cet outil pour vous aider à créer votre flux et à voir quelles sont les erreurs.
La toolbox est sans aucun doute un outil très utile. Cela vous aidera à configurer votre flux de données plus rapidement.
Voici les différentes options de la blackbox.


Vous pouvez obtenir des rapports d'erreurs sur vos flux de données.

Les erreurs et les alertes seront affichées differemment :
Missing recommended attribute: brand
Missing required attribute: fb_product_category
En face de chacune de ces erreurs ou avertissements, vous devriez voir le nombre d'articles qui sont concernés.
Par défaut, les rapports affichent les 10 premiers exemples (sku) qui sont concernés par chaque erreur et avertissement. Vous pouvez modifier la valeur de Items in preview dans :
Stores › Settings › Configuration › Wyomind › Facebook Product Feed › Core Settings
Dans ce premier onglet, il s'agit de la configuration de votre flux de données. Vous y trouverez plusieurs champs qui vous permettront de personnaliser votre flux.
Facebook feed
FacebookShopping_basics.xml
/feeds/
Default Store View
http://www.example.com
Full data feed for Facebook
Main feed for Facebook.

Vous pouvez filtrer vos catégories selon 2 manières :
Vous pourrez inclure ou exclure les catégories selon :

Par exemple, si vous ne souhaitez inclure que les produits de la catégorie Gear, vous pouvez choisir l'option Include qui va vous permettre d'inclure toutes les catégories que vous aurez sélectionnées.

Vous pouvez également choisir l'option Exclude qui exclura toutes les catégories que vous avez sélectionnées.

Dans cet onglet, vous pouvez mapper vos catégories à celles de Facebook. Cette étape est très importante pour pouvoir faire le lien entre vos catégories et les catégories Facebook.
La taxonomie Facebook est une arborescence qui vous aidera à générer des valeurs pour l'attribut catégorie du produit.
Les noms de catégories que vous utilisez dans Magento ne sont pas toujours les mêmes que ceux que Facebook utilise pour référencer vos produits.
Cela signifie que vous devez trouver quelles sont les catégories Facebook qui correspondent aux vôtres conformément à la taxonomie Facebook.
Facebook Product Feed vous permet de saisir les catégories de produits Facebook correspondant aux vôtres de manière très simple.
Dans la configuration de votre flux de données, allez dans l'onglet Catégories. Puis, dans la section Sélection et mappage des categories, vous trouverez une liste arborescente de vos catégories.
Dans un premier temps, sélectionnez la taxonomie Facebook sur laquelle les catégories seront mappées.

A la suite de chaque catégorie, vous voyez une petite flèche suivi de mapped as.

C'est à cet endroit que vous pouvez commencer à taper un mot clé pour qu'une liste de catégories dans lesquelles ce mot apparaît se déroule. Il ne vous reste plus qu'à sélectionner celle que vous souhaitez.

Une fois que le mappage de toutes vos catégories est terminé, vous pouvez cliquer sur le bouton Save.
Voici quelques principes de base pour choisir au mieux la catégorie appropriée :
Enfin, pour faire en sorte que la catégorie Facebook soit bien récupérée dans le flux de données, vous devez ajouter l'attribute suivant au modèle XML :
<g:fb_product_category>{{product.fb_product_category}}</g:fb_product_category>
Avec Facebook Product Feed, vous pouvez changer le fichier sur lequel est basé le mappage des catégories.
Depuis cette page, choisissez la langue que vous souhaitez utiliser pour votre taxonomie depuis la section Facebook product categories by language. Puis, cliquez sur le lien Texte Brut qui contient tous les noms des catégories.

Collez ce fichier dans :
Magento 2 Root Directory › app › code › WyominD › Facebook Product Feed › data › Facebook › Taxonomies
Vous serez ensuite capable de choisir cette taxonomie depuis la configuration de votre flux de données.
Facebook Product Feed pour Magento 2 vous permet également de filtrer vos produits sur plusieurs niveaux selon leurs jeux d'attributs ou leur visibilité par exemple.
N'inclure que les produits simples.
Inclure tous les jeux d'attributs.

Inclure tous les produits.

Inclure seulement les produits dont le prix est supérieur à 0 et dont le SKU n'est pas vide

Là aussi, vous avez la possibilité de configurer vos filtres avancés selon plusieurs options.
name like %shirt : Inclura au flux de données les produits dont le nom se termine par 'shirt'.
name like Apple% : Inclura au flux de données tous les produits dont le nom commence par 'Apple'.
name like %women% : Inclura dans le flux de données les produits dont le nom comporte la chaîne de caractères 'women'.
name not like %shirt : N'inclura aucun produit dont le nom se termine par 'shirt'.
name not like Apple% : N'inclura aucun produit dont le nom commence par 'Apple'.
name not like %women% : N'inclura aucun produit dont le nom comporte la chaîne de caractères 'women'.
Special price is null : inclura tous les produits qui n'ont pas de prix spécial.
SKU is not null : inclura tous les produits dont le SKU n'est pas nul.
Size in S L: inclura au flux seulement les produits de ces deux tailles.
Size not in S L: inclura dans le flux tous les produits dont la taille n'est pas S ou L.
Facebook Product Feed pour Magento 2 vous permet de configurer des tâches planifiées dans l'onglet Cron Schedule pour chacun de vos flux de données.
Vous devez simplement cocher les jours et heures auxquels vous souhaitez que votre flux soit généré.

Dans cette section, vous pouvez utiliser le champ Note pour ajouter n'importe quelle information que vous trouvez utile. Il s'agit d'une note interne.

Dans l'onglet Action History, vous pouvez trouver un historique des générations et configurations précédentes.

Vous trouverez :


Facebook Product Feed vous permet de générer vos flux de données manuellement ou automatiquement.
Vous pouvez générer votre flux de données manuellement dans la grille du menu déroulant.

Vous avez aussi la possibilité de le faire depuis votre panneau de configuration en cliquant sur Generate.

Afin de générer automatiquement vos flux de données par tâches planifiées vous devez vous assurer que la tâche cron principale s’exécute bien sur votre serveur.

Dans le cas contraire un message d'alerte apparaît dans Facebook Product Feed.

Vous devez également avoir sélectionné les jours et les heures de mise à jour de chaque flux dans l'onglet Cron schedule.
Vous pouvez utiliser les lignes de commandes pour générer les flux de données en lignes de commandes.
Pour générer tous les flux de données :
bin/magento wyomind:facebookproductfeed:generate
Pour générer un flux de données spécifique :
bin/magento wyomind:facebookproductfeed:generate int DATA_FEED_ID
Pour générer plusieurs flux de données :
bin/magento wyomind:facebookproductfeed:generate int DATA_FEED_ID [, int DATA_FEED_ID] [, int DATA_FEED_ID]...
Pour lister tous les flux de données disponibles :
bin/magento wyomind:facebookproductfeed:list
Lorsqu'un flux peut être téléchargé, le lien est affiché dans la grille des flux de données. Afin de télécharger votre flux de données, sélectionnez Save link as après avoir fait un clic-droit sur le lien. Vous devriez aussi trouver le fichier dans votre client FTP si le répertoire où le fichier est stocké et accessible publiquement.

<g:id>123456</g:id>
<price>45.99 USD</price>
<g:id>{{product.sku}}</g:id>
<g:brand>Fixed Brand</g:brand>
<g:id>{{product.sku}}</g:id>
<price>{{parent.price}}</price>
<g:brand>YOUR BRAND</g:brand>
<title>{{parent.name}}, available in {{product.color}} for only ${{product.price}}</title>
<price>{{product.price currency=EUR vat_rate=20}}</price>
<tag>{{product.name output="wyomind_strtolower($self)"}}</tag>

{{product.color | product.colour}}
<description>
<![CDATA[<p>Fantastic <b>Watch</b>, that not only tells you what time it is,but also gives the weather trends</p>]]>
</description>
Pour modifier votre modèle de flux de données tel que vous le souhaitez, il vous faut avant tout respecter une syntaxe particulière. En effet, pour faire appel aux attributs, l'extension Facebook Product Feed utilise une construction spécifique. Ceci requiert donc que vous sachiez comment la variable est composée pour ainsi pouvoir configurer votre flux selon vos besoins.

L'image ci-dessus détaille les différents composants d'une variable.
Le modèle du flux de données est totalement personnalisable.
Afin de récupérer la valeur d'un attribut vous devez définir quel objet est ciblé. Voici ci-dessous les différents types d'objets que vous pouvez utiliser.
Récupère l'attribut pour le produit.
Par exemple :
{{product.sku}}
{{product.color}}
Récupère la valeur de l'attribut pour le produit parent.
La valeur de l'attribut du parent est récupérée seulement si le produit simple est associé à un produit parent, sinon aucune valeur n'est affichée.
Le produit parent peut être un produit configurable, groupé ou bundle. La valeur du premier produit parent correspondant au produit simple est affichée.
Par exemple :
{{parent.product_type}}
{{parent.brand}}
Récupère la valeur de l'attribut du premier produit parent configurable.
La valeur de l'attribut du produit configurable est récupérée seulement si le produit simple est associé à un produit configurable, sinon, aucune valeur n'est affichée.
Par exemple :
{{configurable.image_link}}
{{configurable.url}}
Récupère la valeur de l'attribut du premier produit parent groupé.
La valeur de l'attribut du produit groupé est récupérée seulement si le produit simple est associé à un produit groupé, sinon, aucune valeur n'est affichée.
Par exemple :
{{grouped.fb_product_category}}
{{grouped.url}}
Récupère la valeur de l'attribut du premier produit parent bundle.
La valeur de l'attribut du produit bundle est récupérée seulement si le produit simple est associé à un produit bundle, sinon, aucune valeur n'est affichée.
Par exemple :
{{bundle.sale_price}}
{{bundle.price}}
Vous trouverez ci-dessous les attributs les plus couramment utilisés pour identifier les produits dans les flux de données.
Récupère le sku du produit.
Par exemple :
{{product.sku}}
Récupère la marque du produit.
Par exemple :
{{product.brand}}
Récupère la marque du produit.
Par exemple :
{{product.manufacturer}}
Ci-dessous sont listés les attributs généralement utilisés pour définir les informations de base des produits dans les flux de données.
Récupère le nom du produit.
Par exemple :
{{product.name}}
Récupère la description du produit.
Par exemple :
{{product.description}}
Récupère la description courte du produit.
Par exemple :
{{product.short_description}}
Récupère l'état du produit.
Par exemple :
{{product.condition}}
Récupère le poids du produit.
Par exemple :
{{product.weight}}
Vous trouverez ci-dessous les attributs de prix que vous pouvez utiliser dans votre modèle de flux. La plupart d'entre eux peuvent comporter des paramètres pour définir par exemple la monnaie utilisée ou encore le taux de TVA à appliquer.
Récupère le meilleur prix parmi tous les prix définis.
Si les prix du catalogue sont entrés hors taxes et si une classe de taxe qui correspond à un taux unique de TVA est définie pour le produit, alors les prix sont récupérés avec la TVA. Sinon, le prix hors TVA est récupéré.
Par exemple :
{{product.price}}
Vous pouvez également utiliser des paramètres avec cet attribut :
Voici quelques exemples d'utilisation :
Pour convertir les prix en EUR et appliquer une TVA de 20% :
{{product.price currency=EUR vat_rate=20}}
Pour convertir les prix en USD et n'appliquer aucune TVA :
{{product.price currency=USD vat_rate=0}}
Si les prix de votre catalogue comprennent déjà la TVA :
{{product.price currency=USD}}
Pour utiliser un code ISO2 correspondant à un des pays pour lequel vous avez défini un taux de TVA dans vos paramètres de taxe :
{{product.price currency=EUR vat_rate=FR}}
Ce code peut également être complété par un code régional :
{{product.price currency=USD vat_rate=US/NY}}
Pour déduire la TVA correspondant à un pays/région :
{{product.price currency=GBP vat_rate=-GB}}
Pour récupérer les prix comprenant différentes valeurs de prix pour les produits simples associés à des produits configurables :
{{parent.price currency=EUR vat_rate=20}}
Récupère le prix de base et ignore n'importe quel autre prix.
Par exemple :
{{product.normal_price}}
Récupère le prix spécial s'il y en a un. Si ce prix n'existe pas, la valeur est nulle.
Par exemple :
{{product.special_price}}
Récupère le prix incluant les règles de prix catalogue s'il existe, sinon rien n'est récupéré.
Si les prix du catalogue entrés par l'administrateur ne sont pas soumis à une taxe et si une classe de taxe qui correspond à un taux unique de TVA est définie pour le produit, alors les prix sont récupérés avec la TVA. Sinon, les prix sont récupérés en excluant la TVA.
Par exemple :
{{product.price_rules}}
Récupère le meilleur prix promotionnel entre les règles de prix et les prix spéciaux.
Par exemple :
{{product.sale_price}}
Récupère les dates de début et de fin du prix spécial sous la forme : 2011-03-01T13:00-0800/2011-03-11T15:30-0800.
Si aucune date n'est définie ou si les dates définies ne correspondent pas aux dates actuelles alors la valeur est nulle.
Par exemple :
{{product.sale_price_effective_date}}
Récupère 1 si le prix spécial existe, sinon 0.
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.has_special_price yes="Special price" no="No special price"}}
Récupère 1 si un prix promotionnel existe, sinon 0.
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.has_sale_price yes="Sale price" no="No sale price"}}
Récupère le prix minimum.
Cet attribut est utilisé pour les produits configurables, bundle ou groupés.
Si les prix du catalogue entrés par l'administrateur ne sont pas soumis à une taxe et si une classe de taxe qui correspond à un taux unique de TVA est définie pour le produit, alors les prix sont récupérés avec la TVA. Sinon, les prix sont récupérés en excluant la TVA.
Par exemple :
{{product.min_price}}
Récupère le prix maximum.
Cet attribut est utilisé pour les produits configurables, bundle ou groupés.
Si les prix du catalogue entrés par l'administrateur ne sont pas soumis à une taxe et si une classe de taxe qui correspond à un taux unique de TVA est définie pour le produit, alors les prix sont récupérés avec la TVA. Sinon, les prix sont récupérés en excluant la TVA.
Par exemple :
{{product.max_price}}
Ci-dessous sont listés les attributs généralement utilisés pour récupérer tous types de liens.
Récupère l'URL permettant de présélectionner les attributs du produit simple depuis son configurable.
Par exemple:
{{product.url_config}}
Récupère l'URL absolue du produit.
Par exemple :
{{product.url}}
Récupère l'image principale du produit.
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.image_link index=2}}
Récupère l'URL du site, par exemple https://www.siteweb.com.
Exemple avec l'attribut small_image :
{{product.host}}/media/catalog/{{product.small_image}}
Récupère l'URL relative du produit.
Par exemple :
https://www.mywebsite.com/mystore_code/{{product.uri}}
Afin de récupérer les catégories de vos produits, vous pouvez vérifier les attributs listés ci-dessous.
Tous les chemins de catégorie sont listés dans catégories du plus court au plus long, comme dans l'exemple ci-dessous:
Afin d'afficher un chemin de catégorie spécifique vous avez la possibilité d'utiliser des paramètres avec cet attribut :

Par exemple :
{{product.categories nth="1"}}
Montre le premier chemin de catégorie : Default Category
{{product.categories nth="-1"}}
Montre le dernier chemin de catégorie : Default Category › Sales › Spring and Summer Sales
{{product.categories nth="3" separator="-"}}
Montre le 3ème chemin de catégorie et modifie le séparateur de niveaux de catégories en "-" : DEFAULT CATEGORY - CLOTHES
{{product.categories nth="-2"}}
Montre l'avant dernier chemin de catégorie : Default Category › Clothes › Men › Pants
{{product.categories nth="-2" from="2"}}
Montre l'avant dernier chemin de catégorie à partir du 2nd niveau de catégorie : Clothes › Men › Pants
{{product.categories nth="-1" from="-1"}}
Montre le dernier chemin de catégorie à partir du dernier niveau de catégorie : Spring and Summer Sales
{{product.categories nth="-2" from="2" length="1"}}
Montre l'avant dernier chemin de catégorie à partir du 2nd niveau de catégorie avec seulement un niveau de catégorie : Clothes
Récupère la catégorie Facebook que vous avez assigné (dans la section Categories) à la première catégorie trouvée pour le produit. Si il n'y a pas de catégorie Facebook assignée à la première catégorie trouvée, la seconde sera utilisée, s'il n'y pas de catégorie Facebook assignée à la seconde, la troisième sera utilisée, etc...
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.category_mapping index=0}}
{{product.category_mapping index=1}}
{{product.category_mapping index=2}}
{{product.category_mapping index=3}}
{{product.category_mapping index=4}}
Récupérera un maximum de 5 catégories Facebook dans 5 balises différentes.
Retrieves the Facebook category that you have assigned (in the Categories section) to the first category found for the product (index 0).
For example:
{{product.fb_product_category}}
Les attributs ci-dessous sont bien souvent utilisés pour récupérer les disponibilités de vos produits, par exemple la quantité.
Récupère la quantité disponible du produit.
La quantité récupérée pour les produits configurables est basée sur la somme des produits simples.
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.qty float=2}}
Récupère soit "in stock" si le produit est en stock, "out of stock" si le produit est indisponible ou "available for order" si le produit est en cours de réapprovisionnement.
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.is_in_stock in_stock="In Stock" out_of_stock="No more Stock" backorderable="Can be ordered"}}
Récupère le statut "in stock" si le produit est en stock, "out of stock" si le produit est en rupture de stock.
Vous pouvez également utiliser des paramètres avec cet attribut :
Par exemple :
{{product.is_in_stock in_stock="In Stock" out_of_stock="No more Stock"}}
Dans le cas où vous avez des variantes de produits par couleur, genre ou encore taille, alors vous pouvez utilisez les attributs de base suivants. Attention, ces attributs sont des exemples et peuvent différer selon la configuration de votre boutique Magento 2.
Récupère le genre du produit.
Par exemple :
{{product.gender}}
Récupère le groupe d'âge du produit.
Par exemple :
{{product.age_group}}
Récupère la couleur du produit.
Par exemple :
{{product.color}}
Récupère la taille du produit.
Par exemple :
{{product.size}}
Récupère la matière du produit.
Par exemple :
{{product.material}}
Récupère le modèle du produit.
Par exemple :
{{product.pattern}}
Ci-dessous sont listés tous les paramètres que vous pouvez utiliser avec n'importe quel attribut dans vos flux de données.
Le préfixe est ce qui sera affiché avant la valeur de l'attribut seulement si la valeur de celui-ci n'est pas nulle, sinon rien n'est récupéré.
Voici quelques exemples d'utilisation :
Pour ajouter le symbole de la monnaie avant le prix et ne rien récupérer lorsque la valeur de l'attribut est nulle :
{{product.price currency=EUR vat_rate=20 prefix="€"}}
Pour ajouter l'unité de poids avant la valeur de l'attribut et ne rien récupérer lorsque celle-ci est nulle :
{{product.weight prefix="KG "}}
Le suffixe est ce qui sera affiché après la valeur de l'attribut seulement si la valeur de celui-ci n'est pas nulle, sinon rien n'est récupéré.
Voici quelques exemples d'utilisation :
Pour ajouter le code de la monnaie après le prix et ne rien récupérer lorsque la valeur de l'attribut est nulle :
{{product.price currency=EUR vat_rate=20 suffix=" EUR"}}
Pour ajouter l'unité de poids après la valeur de l'attribut et ne rien récupérer lorsque celle-ci est nulle :
{{product.weight suffix=" KG"}}
Attention, l'appel de l'attribut même avec le paramètre as produira l'insertion de données dans le flux sauf si vous utilisez l'attribut output avec la valeur null (voir le paramètre output)
Voici quelques exemples d'utilisation :
Pour afficher le nom d'un produit et stocker le nom du produit dans une variable $name:
<!-- Product name is displayed and stored under a new variable "name" -->
<name>{{product.name as="name"}}</name>
$name pourra être utilisé dans un script PHP plus loin dans le template.
<?php
/* If variable $name is equal to "Apple", then display "Apple" then display "Banana" */
if($name=="Apple") return $name;
else return "Banana";
?>
Pour stocker la visibilité d'un produit dans une variable visibility et l'utiliser dans la condition d'un autre attribut:
<!-- Product visibility is stored under a new variable "visibility" and the attribute doesn't display -->
{{product.visibility as="visibility" output="null"}}
<!-- If the product is not visible individually (4) then we display the parent product url, otherwise we use the product url-->
<url>{{parent.url if="visibility==4" | product.url}}</url>
Le paramètre if vous permet de définir une ou plusieurs conditions indispensables à l'affichage de l'attribut dans le flux.
Une condition se construit autour de 3 éléments:
Exemple:
<!-- Product description will be displayed only if product brand is equal to "Apple" -->
<name>{{product.description if="product.brand==Apple"}}</name>
<!-- Product weight will be displayed only if the product is not virtual AND not downloadable-->
<weight>{{product.weight if="product.type_id!=virtual" if="product.type_id!=downlodable"}}</weight>
Le paramètre output vous permet de définir le format de sortie de l'attribut.
Vous pouvez utiliser les fonctions de base (voir les fonctions de base), les fonctions avancées (voir les fonctions avancées) ou n'importe quelle fonction PHP.
Vous devez toujours utiliser la variable $self comme paramètre des fonctions.
Exemple :
<!-- Get the product name with the first letter of each word in uppercase -->
<name>{{product.name output="ucwords($self)"}}</name>
Si plusieurs fonctions sont utilisées dans le paramètre, celle-ci doivent être imbriquées comme vous le feriez en PHP.
Exemple :
<!-- Remove all html tags from the description and limit the description to the first 100 characters -->
<name>{{product.description output="substr(strip_tags($self),0,100)"}}</name>
Vous pouvez également utiliser la valeur null pour ne rien afficher ou une chaine de caractères pour remplacer la valeur à afficher.
Exemple :
<!-- If product price is lower than $10 then display "Free Shipping"-->
<shipping_cost>{{product.price if="product.price<10" output="'Free Shipping'"}}</shipping_cost>
Le paramètre php agit exactement comme le paramètre output.
Vous pouvez utiliser n'importe quelle fonctions PHP ainsi que les fonctions ci-dessous qui ont été créées spécialement pour Facebook Product Feed avec n'importe quel attribut défini par défaut dans votre back-office Magento 2 mais également avec tous les attributs que vous avez créés pour vos produits comme name, description, short_description, weight, size, color… Cela dit, vous ne pouvez pas utiliser de fonction avec les attributs qui génèrent du XML.
La syntaxe à utiliser pour inclure des fonctions PHP dans vos variables est :
{{objet.attribut output=”fonction(parametres)”}}
Vous pouvez également appliquer une ou plusieurs fonctions à chaque attribut en utilisant cette syntaxe :
{{objet.attribut output=”fonction1(fonction2(fonction3($self,parametres)))”}}
Toutes les options sont exécutées dans l'ordre suivant :
<title>{{product.name}}</title>
<title>{{product.name output="wyomind_strtoupper($self)"}}</title>
<title>{{product.name output="wyomind_strtoupper(wyomind_substr($self,20,'...'))"}}</title>
Ce qui produira :
<title>Affirm Water Bottle</title>
<title>AFFIRM WATER BOTTLE</title>
<title>AFFIRM WATER...</title>
Convertit une valeur numérique en valeur décimale.
Vous devez définir certains paramètres :
Par exemple :
<g:shipping_weight> {{product.weight output="float($self,2)"}}kg </g:shipping_weight>
Supprime tous les caractères qui n'appartiennent pas au jeu de caractères UTF-8.
Par exemple :
<g:title>{{product.name output="cleaner($self)"}}</g:title>
Supprime toutes les fins de ligne de la valeur.
Par exemple :
<description> {{product.description output="inline($self)"}} </description>
Les fonctions améliorées s'utilisent de la même manière que les fonctions basiques PHP mais offrent plus de possibilités. Ces fonctions sont en réalité une réécriture des fonctions PHP natives mais ont été améliorées pour une utilisation spécifique de l'extension Facebook Product Feed.
Transforme la valeur en lettres capitales.
Par exemple :
<g:title>{{product.name output="wyomind_strtoupper($self)"}}</g:title>
Transforme la valeur en lettres minuscules.
Par exemple :
<tag>{{product.name output="wyomind_strtolower($self)"}}</tag>
Regroupe tous les éléments d'un tableau en chaîne de caractères.
Vous devez définir certains paramètres :
Cette fonction peut être utile pour les attributs à sélections multiples comme climate, activity general...
Par exemple :
<activity> {{product.activity_general output="wyomind_implode('-',$self)"}} </activity>
Donnera : Outdoor-Running-Warmup-Lounge-Gym
Convertit toutes les entités HTML en caractères applicables.
Par exemple :
<description> {{product.description output="wyomind_html_entity_decode($self)"}} </description>
Supprime tous les tags HTML.
Par exemple :
<description> {{product.description output="wyomind_strip_tags($self)"}} </description>
Convertit tous les caractères applicables en entités HTML.
Par exemple :
<description> {{product.description output="wyomind_htmlentities($self)"}} </description>
Réduit la taille de la valeur.
Vous devez définir certains paramètres :
Par exemple :
<description> {{product.description output="wyomind_substr($self,50,'...')"}} </description>
S'il y a des balises HTML dans vos descriptions, vous devrez peut-être utiliser une autre fonction complémentaire :
<description> {{product.description output="wyomind_strip_tags(wyomind_substr($self,50,'...'))"}} </description>
Facebook Product Feed vous permet de contrôler vos flux de données en utilisant les règles de remplacement.
Vous pouvez créer vos propres règles depuis :
Catalog › Facebook Product Feed › Replacement Rules
Cliquez sur Create new Rule.

Vous pouvez créer vos propres règles manuellement.
Remplissez un nom et ajoutez les valeurs que vous souhaitez remplacer de la colonne Input par d'autres valeurs dans la colonne Output.
L'exemple ci-dessous montre comment remplacer chaque "Summer 2019" par "Summer 2021", "Winter 2019" par "Winter 2021" et tout le reste par "This season".
Notez que vous pouvez aussi utiliser les expressions régulières.

Vous avez aussi la possibilité d'importer un jeu de règle directement depuis un fichier CSV.
Pour cela, vous devez sauvegarder la règle dans un premier temps.
Puis, cliquez sur Import a rule set from a CSV file.

Sélectionnez votre fichier CSV et cliquez sur Import.
Le fichier doit être composé de 2 colonnes, la première pour les valeurs à remplacer et la deuxième pour les valeurs de remplacement.
Ces valeurs doivent être séparées par des virgules et encadrées par des guillements.
"Winter 2017","Winter 2021"
"Winter 2018","Winter 2021"
"Winter 2019","Winter 2021"
"Winter 2020","Winter 2021"
"Summer 2017","Summer 2021"
"Summer 2018","Summer 2021"
"Summer 2019","Summer 2021"
"Summer 2020","Summer 2021"
Une fois que les lignes ont été importées, vous recevrez une notification dans votre admin.

Une fois que la règle est sauvegardée, vous pouvez l'utiliser dans un profil depuis :
Catalog › Facebook Product Feed › Feeds
Pour l'attribut sur lequel vous souhaitez appliquer la règle, ajoutez le code suivant :
replacement="name of the replacement rule"
Par exemple :
<season>{{product.season replacement="season"}}</season>
Si vous cliquez sur Preview depuis la blackbox, vous devriez voir la valeur de la règle de remplacement appliquée. Voici un exemple avec et sans règle de remplacement.

Facebook Product Feed permet d'utiliser les scripts PHP de différentes façons afin de pouvoir personnaliser et contrôler entièrement la sortie du flux de données.
Le codage API PHP utilise exactement la même syntaxe et standards que le codage PHP.
Pour des raisons d'efficacité, Facebook Product Feed charge uniquement dans la collection de produits, les attributs requis pour le modèle de flux de données.
Cela signifie que seulement les appels attributs utilisant le modèle placeholders, {{scope.attribute_code}}, seront ajoutés à la collection de produits.
Par conséquence, lorsque vous essayez d'accéder à la valeur d'un attribut depuis l'objet $product, vérifiez au préalable que l'attribut soit ajouté à la collection de produits.
Dans la plupart des cas, lorsque la valeur de retour est nulle pour un attribut donné, c'est que l'attribut en question n'a pas été chargé dans la collection de produits.
La façon la plus simple de vérifier que tous les attributs requis sont chargés dans la collection, est d'ajouter au début de votre modèle un script simple permettant de faire une liste de ces attributs.
<?php
/* list of required attributes
* {{product.attribute_1}} {{product.attribute_2}} {{product.attribute_3}} {{product.attribute_4}}...
*/
?>
Vous pourrez alors obtenir la valeur de ces attributs dans votre script PHP :
<?php
return $product->getAttribute1();
?>
<?php
return $product->getAttribute2()
;?>
<?php
return $product->getAttribute3();
?>
...
Vous pouvez appliquer la fonction PHP de votre choix à l'appel d'attribut, même si la fonction exige un ou plusieurs arguments :
{{product.name output="str_replace('Apple','Banana',$self)}}
Vous pouvez utiliser plusieurs fonctions consécutives :
{{product.ean output="str_pad(str_replace('X','0',$self),10,'0',STR_PAD_LEFT)}}
Pour contrôler l'affichage de vos valeurs suivant des conditions spécifiques, vous pouvez utiliser les instructions conditionnelles dans votre code PHP :
<?php
/* attribute {{product.sku}} required */
if ($product->getSku()=="abc")
{
return "Alphabetic";
}
elseif($product->getSku()=="123")
{
return "Numeric";
}
else{return "Mixed";
}
?>
<?php
/* attribute {{product.sku}} required
*/
switch($product->getSku()){
case "abc":
return "Alphabetic";
break;
case "123":
return "Numeric";
break;
default:
return "Mixed";}
?>
Lorsque vous utilisez l'API PHP directement dans votre modèle de flux de données, utilisez les balises PHP d'ouverture et fermeture (<?php ... ?>) permettant de délimiter le code à interpréter.
<?php
if($product->getData('size')=="X-Large") {return "XL";
}
?>
Return
Toute valeur à sortir de votre flux de données doit être retournée avec une instruction de retour.
<?php
return "Don't miss! ".$product->getTitle();
?>
/* This script adds for each product in data feed a new ouput line
* Don't miss! Iphone 5
* Don't miss! Galaxy note 7
* ...
*/
Toutes les variables disponibles en script PHP ont une portée locale, ce qui veut dire qu'elles ne peuvent pas être partagées entre plusieurs scripts.
Si vous souhaitez partager une variable entre différents scripts à travers le processus de génération de flux de données, la variable doit alors être considérée comme globale.
<?php global $increment;$increment++;return $increment;
/* This script will output a incremental $variable* 1* 2* 3* ...*
/?>
L'objet $product est une instance de la classe Mage_Catalog_Model_Product, contenant toutes les méthodes par défaut et celles spécifiques à Facebook Product Feed.
La liste ci-dessous reprend les principales méthodes à utiliser:
L'objet $this est une instance de la classe Wyomind_facebookproductfeed_Model_Feed, contenant plusieurs méthodes très utiles :
Cette extension fonctionne avec Magento Community Edition et Magento Enterprise Edition. Vous pouvez vérifier dans l'onglet Compatibility si Facebook Product Feed est compatible avec votre version de Magento.
Magento propose désormais trois variantes de son produit.
Leurs noms ayant changé au cours des dernières années, voici un récapitulatif :
Tous les pays sont supportés (taxes et monnaies) par Facebook Product Feed.
Il vous suffit simplement d'adapter le flux aux exigences du pays concerné et d'utiliser les unités monétaires adéquates lors de l'utilisation des attributs de prix.
Toutes les monnaies peuvent être gérées dans vos flux de données.
Vous pouvez définir une monnaie différente pour chaque flux de données en utilisant les codes monnaies.
Ceci convertira automatiquement les prix dans la monnaie indiquée.
L'encodage des caractères du flux de données généré est l'UTF-8 pour Facebook Product Feed. Il permet d'utiliser des caractères spéciaux comme les caractères accentués ou encore les caractères arabes ou chinois.
Si vous utilisez Data Feed Manager, l'encodage par défaut est l'UTF-8 tant que vous ne précisez pas d'autre encodage dans les entêtes du fichier de produits.
Facebook Product Feed a été testé sur des boutiques Magento 2 comprenant plus de 70 000 produits.
Le temps de génération et la quantité de produits que vous pouvez exporter dans un même fichier de produits dépend des capacités de votre serveur. Cependant, un fichier contenant 10 000 produits ne devrait pas prendre plus de 2 minutes sur un serveur standard.
Votre licence est valide pour une durée illimitée sur une seule instance.
Bien que la période de validité de votre licence soit illimitée, celle de votre période de Support & Upgrade est quant à elle limitée à 12 mois (durée offerte à l’achat de votre licence). Passé ce délai, il vous faudra en acheter une nouvelle (voir FAQ: Prolonger sa période de Support)
Vous avez la possibilité de pré-enregistrer votre domaine de production à votre licence.
Grâce à cette option vous pourrez installer et activer votre domaine afin qu'il soit prêt à l'emploi avant son lancement en ligne.
Pour pré-enregistrer votre domaine :


Votre licence est valide pour une durée illimitée sur une seule interface. Il est possible, cependant, d'étendre ou de transférer votre licence dans deux cas :
Pour pouvoir utiliser Facebook Product Feed à la fois sur votre environnement de production et de test, suivez les étapes ci-dessous:
Pour télécharger Facebook Product Feed, connectez-vous à votre compte Wyomind :

Une nouvelle fenêtre s'ouvre alors.

Seule la dernière version de l'extensiont publiée durant votre période de Support & Upgrade est disponible en téléchargement. Pour accéder à la toute dernière version de l'extension assurez vous de disposer d'une période de Support & Upgrade à jour
En achetant un module depuis wyomind.com, vous bénéficiez de 12 mois de mise à jour. Durant cette période vous pouvez à tout moment télécharger la dernière version du module directement depuis votre compte.
Pour mettre à jour Facebook Product Feed, suivez les étapes suivantes :

Vous pouvez installer Facebook Product Feed manuellement.
bin/magento setup:upgrade
Si vous utilisez un mode production, exécutez également : bin/magento setup:static-content:deploy
bin/magento setup:di:compile
Vous pouvez installer Facebook Product Feed via Composer dans deux cas seulement :
composer config repositories.wyomind composer https://repo.wyomind.com
composer require wyomind/facebookproductfeed
bin/magento setup:upgrade
bin/magento setup:static-content:deploy
bin/magento setup:di:compile
Pour désinstaller Facebook Product Feed, commencez par désactiver l'extension en exécutant la commande suivante :
bin/magento module:disable Wyomind_FacebookProductFeed
Puis, vous avez deux moyens de désactiver l'extension, selon la méthode avec laquelle l'extension a été installée précédemment :
Exécutez le fichier facebookproductfeed-uninstall.sh (vous pouvez le trouver dans le dossier zip de l'extension) depuis votre répertoire racine Magento :
sh facebookproductfeed-uninstall.sh
Exécutez la ligne de commande suivante :
composer remove wyomind/facebookproductfeed
Lorsque la désinstallation est terminée, pensez à nettoyer le cache et réactiver le compiler (si vous l'utilisez).
Si vous avez acheté Facebook Product Feed depuis la place de marché Magento, vous pouvez l’installer via Web Setup Wizard.
Veuillez cliquer sur le lien ci-dessous pour vous renseignez sur comment procéder à l’installation :
http://docs.magento.com/m2/ce/user_guide/system/component-manager.html
Votre extension installée, il ne vous reste plus qu’à activer votre licence :
Activation des extensions
Une fois que Facebook Product Feed est installé, vous devez activer la licence. Pour les anciennes versions, vous pouvez activer votre licence depuis le back-office :

<?php
return array(
'backend' => array(
'frontName' => 'admin'
),
'crypt' => array(
'key' => '1e8f3c6772b7a6a6689c3c8cefa4ccf0'
),
/* ... */
)
?>





Ajoutez un autre domaine à votre licence
Pour activer votre licence sur un autre environnement (test, staging...) :

L'ordre d'activation de votre licence n'a aucune importance. Vous pouvez choisir d'activer d'abord votre licence sur votre environnement de production puis par la suite sur votre environnement de test, ou inversement.
Une fois que Facebook Product Feed est installé, vous devez activer la licence.
Pour cela, vous pouvez utiliser la ligne de commande suivante :
bin/magento wyomind:license:activate Wyomind_FacebookProductFeed <YOUR_ACTIVATION_KEY>
Afin de récupérer la liste des modules disponibles ainsi que le statut des licences, utilisez :
bin/magento wyomind:license:status
Parmi les différents statuts :
Pour activer plusieurs licences à la fois, utilisez :
bin/magento wyomind:license:activate \
Wyomind_Extension1,Wyomind_Extension2 \
CLE_ACTIVATION_1,CLE_ACTIVATION_2
ou :
bin/magento wyomind:license:activate \
Extension1,Extension2 \
CLE_ACTIVATION_1,CLE_ACTIVATION_2
Dans le cas où vous avez acheté un service d'installation, notre équipe a besoin des informations suivantes afin de procéder à l'installation de l'extension :
Vous pouvez créer un ticket avec les informations suivantes depuis votre compte Wyomind dans Support, ou nous contacter via notre formulaire.
Afin que notre équipe puisse procéder à la configuration de votre flux de données, nous avons besoin que vous partagiez les accès à votre compte Google Merchant avec nous.
En tant que partenaires Google, nous offrons de nombreuses possibilités pour gérer vos produits sur Google. Pour connaître toutes les informations sur notre offre de configuration de flux de données, n'hésitez pas à jeter un œil à nos services Google Shopping.
Pour partager les accès à votre compte, allez dans votre compte Google Merchant.


Afin que notre équipe puisse procéder à la configuration de votre flux de données, nous avons besoin que vous partagiez les accès à votre compte Google Ads avec nous.
En tant que partenaires Google, nous offrons de nombreuses possibilités pour gérer vos produits sur Google. Pour connaître toutes les informations sur notre offre de configuration de flux de données, n'hésitez pas à jeter un œil à nos services Google Shopping.
Pour partager vos accès, allez dans votre compte Google Ads.



FFacebook Product Feed vous fournit un planificateur de tâches complet dans l'onglet Cron Schedule de la configuration de chacun de vos flux ou profils.

Pour que cela fonctionne, vous devez avoir une tâche planifiée configurée du côté de votre serveur et ciblée sur la page cron.php située dans le répertoire pub à la racine de votre répertoire Magento 2 (idéalement chaque heure).
Si le panneau de contrôle de votre fournisseur d'hébergement ne propose pas un tel service, vous pouvez utiliser un service d'automatisation tel que http://www.mywebcron.com.
Facebook Product Feed vous permet également de recevoir par email les rapports d'exécution de votre flux de données ou profils.

Les classifications des produits Google et Facebook sont des arborescences de catégories décrivant des familles de produits. Ces classifications listent toutes les valeurs possibles pour l'attribut Google product category et Facebook Product category.
Sauvegardez le fichier de taxonomie :


Collez le fichier dans :
N'oubliez pas d'appliquer les droits 644 au fichier.
Vous serez ensuite capable de choisir cette taxonomie depuis la configuration de votre flux de données.
Vous pouvez utiliser l'opérande OR avec n'importe quel attribut comme dans l'exemple ci-dessous :
{{objet.proprieteA | objet.proprieteB}}
Si objet.proprieteA existe alors la valeur sera objet.proprieteA, autrement la valeur sera objet.proprieteB.
Par exemple :
{{product.url | parent.url}}
Il n'y a pas d'autre opérande de ce genre.
Sur Magento 2, les produits configurables sont des conteneurs pour les produits simples. Le prix varient alors en fonction des options sélectionnées par le client.
Puisqu'il n'est malheureusement pas possible de savoir quel sera le choix du client, il est alors recommandé d'utiliser le prix minimum ou maximum dans votre flux de données. Vous pouvez utiliser l'un des attributs suivants :
{{product.min_price}}
{{product.max_price}}
Afin de soustraire la TVA de vos prix catalogue, dans votre modèle, vous pouvez remplacer :
{{product.price}}
avec :
{{product.price currency=USD vat_rate=0}}
Remplacez USD avec votre propre monnaie.
Si les prix de votre catalogue comprennent déjà la TVA, vous pouvez utiliser :
{{product.price currency=USD}}Pour appliquer une TVA à vos produits, vous pouvez remplacer :
{{product.price}}
par :
{{product.price currency=CUR vat_rate=0.00}}
Remplacez CUR par votre propre monnaie et 0.00 par une valeur de 0 à 100 représentant la valeur de la TVA.
Par exemple :
{{product.price currency=EUR vat_rate=10}}Dans votre flux de données, vous obtenez https://www.monsiteweb.com/produit alors que l'URL exacte est https://www.monsiteweb.com/categorie/souscategorie/produit.
Vous pouvez modifier vos paramètres afin de récupérer l'URL que vous souhaitez, dans :
Stores › Settings › Configuration › Wyomind › Facebook Product Feed

Vous allez pouvoir choisir le chemin de l'URL à utiliser dans Use canonical URLs.
Vous avez le choix entre 3 options :
Par exemple, si vous avez un "T-shirt" qui se trouve dans 2 catégories : "Nouveautés" et "Hauts". Selon ce que vous choisissez, vous obtiendrez des URLs différentes :
L'URL du produit (individual product URL) n'inclut pas la catégorie et sous-catégorie.
Cet erreur peut être due à un problème durant l'installation.
Vous pourrez facilement le régler en suivant ces quelques étapes :
Attention, cette entrée dépend de votre extension. Par exemple, si vous avez l'extension Simple Google Shopping, alors vous devrez supprimer Wyomind_SimpleGoogleShopping.
Assurez-vous que vous avez bien configuré depuis votre administration serveur (cpanel) une tâche planifiée (toutes les heures idéalement) visant le fichier cron.php de votre installation Magento 2.


L'extension inclut des outils de reporting et de debug des tâches planifiées dans la section :
Stores › Settings › Configuration › Wyomind › Facebook Product Feed

Pour plus d'informations sur la configuration des tâches cron dans Magento 2, vous pouvez consulter leur documentation.
Le répertoire dans lequel vous générez votre flux de données doit avoir des autorisations en écriture (permissions 755). Si /feeds/ n'est pas correctement configuré, vous pouvez essayer d'utiliser un autre répertoire comme /media/ en changeant le contenu du champ Path.

Vous devez mettre à jour le module en téléchargeant la dernière version disponible depuis votre compte Wyomind.com.
Vous devez certainement utiliser un caractère qui pose problème dans la description de votre flux de données, par exemple le caractère &.
Dans ce cas, vous devriez remplacer & avec et ou encadrer vos données de CDATA.
Si lorsque vous essayez de sauvegarder les paramètres de votre flux de données depuis Magento 2, vous avez une erreur :
You don't have permission to access /.../ on this server.
Cela veut dire que le serveur n'est pas configuré pour envoyer du code PHP, XML ou HTML dans le formulaire.
Le mod_security (module de sécurité) comprend des règles qui stoppent tous les post/get requests comprenant du code.
Pour résoudre ce problème, vous devriez contacter votre hébergeur dans le but d'ajouter des exceptions aux règles de sécurité.
Si les caractères de votre flux de données ne s'affichent pas correctement, vous pouvez tout d'abord vous assurer d'avoir bien utilisé les attributs spéciaux qui permettent de nettoyer votre contenu :
{{product.description php="sgs_strip_tags(sgs_html_entity_decode(inline(cleaner($self))))"}}
Si votre flux de données ne s'affiche toujours pas correctement, il est possible que ce soit parce que vous essayez de le lire en tant que fichier ISO alors que Facebook Product Feed crée des fichiers au format UTF-8.
Nous vous recommandons d'utiliser des logiciels spécifiques comme Notepad++ ou encore Firefox (Avec Développement web › Encodage des caractères › Unicode (UTF-8) de sélectionné).
Vous devez appliquer les droits 644 au répertoire app/code/Wyomind/FacebookProductFeed/data/Facebook et à tous les sous-dossiers et fichiers via FTP.

cahcnhiet3m
I'm trying, thanks for products
How merchants put Facebook Product Feed to work, step by step.
Initial release for the master version
Initial release for the legacy version
First public release
Specific needs or any ideas of enhancements and new features to add to the extension? Tell us more, we'll get back to you shortly!