Développer avec RBS Change : [Résolu] Affichage du cross selling dans la fiche produit

  • 73479.1

    18/01/2013 10:36


    yoann
    Rang : Membre
    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

  • 73479.2 en réponse à 73479.1 écrit par yoann

    18/01/2013 12:41


    Mathias
    Rang : Expert
    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
  • 73479.3

    18/01/2013 16:14


    yoann
    Rang : Membre
    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
  • 73479.4

    18/01/2013 16:54


    Gaël Port
    Titre : Développeur RBS Change
    Rang : Expert
    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.
  • 73479.5

    18/01/2013 17:55


    yoann
    Rang : Membre
    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
  • 73479.6 en réponse à 73479.5 écrit par yoann

    21/01/2013 11:02


    Gaël Port
    Titre : Développeur RBS Change
    Rang : Expert
    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
  • 73479.7

    22/01/2013 10:14


    yoann
    Rang : Membre
    Ok merci Gaël pour l'info.
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1356 membres
Aucun membre connecté