Développer avec RBS Change : [Résolu] Affichage du cross selling dans la fiche produit
-
18/01/2013 10:36
Bonjour,
Nous souhaiterions pouvoir afficher un bloc de cross-selling (les similaires par exemple) au dessus du bouton ajouter au panier de la fiche produit. Quelles sont les différentes étapes à faire ?
Nous avons essayé de créer un template dans notre projet, ainsi qu'une nouvelle déclaration de block.xml. Puis nous avons créé une classe CrossAction, avec une méthode execute, qui permettait d'hériter du CrossAction de catalog mais il ne nous retourne pas de produits liés.
Pour info, nous ne voulons pas ajouter le bloc dans le BO et le placer en CSS !
Merci par avance
YoannÉdité par yoann 18/01/2013 10:43
-
A priori, il n'est pas nécessaire de créer son propre block si vous ne souhaitez pas en modifier le comportement.
Si vous souhaitez le placer à la main au sein du template de la fiche produit, il suffit d'utiliser l'extension PHPTAL change:include .
Si toutefois vous souhaitez en modifier le comportement, il faut passer par l'injection de block (étendre la classe du block à étendre ne suffit pas).
Développe sous linux Ubuntu 12.04 LTS Desktop
Projet ecommerce core 3.6.7 -
18/01/2013 16:14
Merci pour votre retour.
Le problème, c'est qu'il n'y a pas de templates associés au cross-selling. Du coup nous avons créé un template et nous essayons de faire un : product.getPublishedComplementaryArray() dedans mais cela nous retourne un array vide alors que notre produit a bien des complémentaires liés.
Yoann -
18/01/2013 16:54
En l'occurrence, effectivement, il n'y a pas de template spécifique au crosselling (qui utilise le rendu standard des listes de produits). De plus ce qui vous intéressera c'est la sélection des produits, le mieux est donc d'inclure le bloc plutôt que le template via un change:block du coup plutôt que change:include. -
18/01/2013 17:55
Bonjour Gaël,
Nous avions tester déjà le change:block ainsi que beaucoup de méthodes différentes. Nous venons de refaire des tests et enfin nous avons trouver.
En fait nous n'avions pas précisé le linkType du crossSelling car dans blocks.xml il a une default-value (default-value="complementary") qu'il nous fallait. Sauf qu'il n'a pas l'air d'en tenir compte dans ce cas là du default-value.
Est-ce normal ?
Merci
Yoann -
Effectivement, dans ce cas la valeur par défaut est ignorée. Mais ce n'est pas voulu (ça vient de l'appel à findParameterValue plutôt qu'à un appel direct sur la configuration).
J'ai créé un ticket à ce sujet : #73595 -
22/01/2013 10:14
Ok merci Gaël pour l'info.
Merci de prendre connaissance et de respecter les règles des forums.