Question

Il s'agit d'une demande étrange d'un client, les produits peuvent être achetés avec ou sans logos qui y ont ajouté. Cependant, lorsqu'un produit qui nécessite un logo est ajouté au chariot, le processus de paiement doit être légèrement différent car des coûts supplémentaires seront ajoutés par la suite.

J'ai essayé de définir une nouvelle session afin de stocker si le panier a un produit qui nécessite un logo et en utilisant diverses instructions IF pour surmonter cette demande, exemple:

            <?php foreach($this->getItems() as $_item): ?>
                <?php
                    $get_attributes = $_item->getProduct()->getTypeInstance(true)->getOrderOptions($_item->getProduct());
                    $attributes = $get_attributes['attributes_info'];
                    foreach($attributes as $attribute) {
                        if($attribute['value'] == 'Has Logo') {
                            $logo_cart = TRUE;
                        }
                    }
                ?>
                    <?php echo $this->getItemHtml($_item) ?>
                <?php endforeach ?>

En utilisant la variable $ logo_cart, je le définis dans le noyau / session, puis utilisez:

Mage::getSingleton('core/session')->getLogoCart();

Dans les instructions IF pour modifier les aspects de la caisse.

Ce n'est évidemment pas un moyen idéal d'y parvenir, d'autant plus que je ne suis actuellement en train de définir la session qu'une fois que le client atteint la page de panier, il est donc assez buggy s'ils sont déjà sur la page de paiement.

Y a-t-il des suggestions sur la façon dont je peux réaliser ce qui précède? J'utilise actuellement le module de paiement d'une page trouvé ici: http://www.magentocommerce.com/magento-connect/express-checkout-one-step-checkout.html

Une méthode à laquelle j'ai pensé est de changer tout le modèle en fonction de ce qui se trouve dans le panier, mais je ne sais pas quels fichiers je devrais changer dans le module pour y parvenir.

EDIT: Juste pour clarifier, l'ensemble du processus est de rester le même. J'ai juste besoin de supprimer quelques options de la caisse, telles que la méthode d'expédition, de réviser votre section de commande, et d'afficher une nouvelle zone, qui ne sont de toute façon que le modèle change.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top