Adobe Target Recommendations utilise le moteur Apache Velocity open source, en mettant l’accent sur rapidité – pour récupérer les données de recommandations. Une conception de recommandations est une offre Target spécialisée renseignée au moment de l’exécution avec les entités, c’est-à-dire les produits ou les articles, à afficher. Cela se fait en incorporant des identifiants Velocity Template Language (VTL) pour désigner les attributs d’entité en utilisant la syntaxe suivante : $entitéN.variable.
En écrivant $entitéN.variable N fois ignore le troisième concept de la programmation structurée : l’itération.
Jusqu’à 99 entités peuvent être référencées dans une conception et pour chaque attribut $entitéN.variable est écrit N fois. C’est le cas des conceptions HTML (illustré ci-dessus) et non HTML. Réponses JSON récupéré, par exemple, via les appels « rawbox » (raw mbox ou ubox) :
Déclarer un objet identique à plusieurs reprises ignore le troisième concept de la programmation structurée : l’itération (les deux premiers étant la séquence et la sélection), et devient vite fastidieux. En tant que participant au forum Adobe Target demandé:
« Existe-t-il un moyen de rendre le HTML dynamique ? J’ai l’obligation d’afficher 50 contenus basés sur les recommandations. Mais au lieu de l’écrire 50 fois, existe-t-il un moyen comme une « boucle » pour parcourir tout le contenu recommandé ? »
Alors, pouvez-vous parcourir les entités ?
La réponse courte est probablement liée à la décision d’Adobe de trouver le juste équilibre entre accessibilité et complexité. Aussi puissante et flexible que soit une solution Recommendations, la capacité de la mettre en œuvre efficacement signifie ne pas demander aux spécialistes du marketing de se lancer dans le VTL. Vu de cette façon, le caractère verbeux des modèles constitue un compromis acceptable.
La réponse la plus longue est oui, c’est faisable et Adobe Personnaliser un design à l’aide de Velocity page est instructif. L’aperçu indique que « tout type d’attribut peut être envoyé ; cependant, Target ne transmet pas les attributs de type « multi-valeurs » sous forme de tableau sur lequel un modèle peut itérer (par exemple entitéN.categoriesList). Ces valeurs sont référencées avec la syntaxe suivante : $entitéN.variable.» De plus, « Les attributs suivants sont disponibles sous forme de tableaux Velocity. En tant que tels, ils peuvent être itérés ou référencés via un index : entités et entitéN.categoriesList.»
Le dernier exemple, Personnalisation de la taille du modèle et vérification des valeurs videsmontre cette utilisation :
Tirer parti du tableau $entities
En un sens, nous avons la solution qui résout le problème. Pourtant, le principe de séparation des préoccupations en ce qui concerne données et afficher n’est pas respecté et le code peut être difficile à gérer. Une conception de recommandations contient nécessairement la couche de présentation et la couche d’accès aux données, mais les deux ne sont pas traitées séparément. Que se passe-t-il si nous voulons un tableau d’entités avec un ensemble d’attributs spécifié, comme dans le JSON ci-dessus ? sans devoir épeler l’objet en entier au préalable ? Cela peut être fait en utilisant l’itérable $entités tableau:
Dix entités avec six attributs intégrés et trois attributs personnalisés (application, secteur, type de ressource) sont à la retraitetourné. Notable est la gestion de base zéro (indice) et basé sur un (compter) l’indexation et l’évaluation dynamique des variables à rendre temps. Le résultat est un objet que peuvent être désinfectés, filtrés et autrement manipulés pour satisfaire les exigences commerciales et d’affichage.
Finalement jeterrant directement sur $entitéN.variable est de la même manière possibleproduisant le même résultat :
#set ( $items = [0..9] ) #set ( $attributes = [ 'categoriesList', 'id', 'message', 'name', 'pageUrl', 'thumbnailUrl', 'application', 'industry', 'resourceType' ] ) <script type="text/javascript"> const entities = Array.from({ length: '$items.size()' }, () => ({})); </script> #set ( $d = '$' ) #foreach ( $attr in $attributes ) #foreach ( $i in $items ) #set( $count = $i + 1 ) #set ( $varName = "${d}entity${count}.${attr}" ) <script type="text/javascript"> entities['$i']['$attr'] = '#evaluate($varName)'; </script> #end #end
Rationalisation des recommandations Adobe Target
Nous espérons que les informations fournies dans ce didacticiel vous permettront, à vous et à votre équipe, de mieux comprendre comment rationaliser les conceptions de recommandations cibles.
Découvrez quelques-uns de nos autres blogs Adobe pour découvrir d’autres moyens de tirer le meilleur parti d’Adobe Target.
Votre partenaire cible Adobe
Nous sommes un partenaire Adobe Platinum avec unspécialisation en Adobe Target(ainsi que cinq autres spécialisations dans AEM Sites, AEM Run & Operate, Adobe Analytics, Adobe Commerce, Marketo Engage). Et nous avons été nommés lesAdobe Digital Experience Partenaire émergent de l’année Amériquescette année.
En savoir plus sur nos experts, services et fonctionnalités Adobeici.
Source link