Question

Je travaille à essayer de créer un système de commande d'édition où lorsqu'une commande est ci-dessous un état donné, le client peut modifier l'ordre

maintenant j'ai tout travail en ajoutant une nouvelle commande comme lien qui fait exactement la même que Réorganiser mais crée une session qui identifie que votre édition d'un ordre, afin de le faire pour de produits hors stock que je devais tourner les commandes en attente sur

Cependant, j'ai trouvé un petit problème, si un client était d'ajouter 5 chapeaux au panier et se déconnecte, si, quand ils reviennent stock qty de l'élément est maintenant 0 ils peuvent toujours aller dans le panier, c'est naturellement en raison de les reliquats étant activés.

J'ai fait un CartController pour ramasser l'ajout / mises à jour du panier et vérifier manuellement si le stock est inférieur à ce qui est dans le panier, si le client avait l'élément quand il y avait un stock important, congé et revient quand il est maintenant en rupture de stock, ils contournent ces contrôles

une suggestion qui a été faite par un collège était que nous écourter la durée de vie de la session de panier pour les clients enregistrés, alors que nous pourrions faire cela, il y a plus d'un problème lors d'une vente

à l'origine, avant que les commandes en attente a été activée, si cette même situation se sur le bouton « Passer à la caisse » serait manquant et vous obtiendrez un message d'erreur

maintenant j'ai tenté de rattacher une nouvelle IndexController et en utilisant $this->_getSession()->addError('Some products in your cart have gone out of stock'); mais je ne reçois pas les mêmes résultats

Alors, comment puis-je créer un message d'erreur qui empêche le client d'entrer dans la caisse jusqu'à ce qu'ils aient fixé leur panier

Était-ce utile?

La solution

Essayez d'ajouter l'erreur à l'élément de citation.

    /app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php:300
    if ($baseMessages) {
        foreach ($baseMessages as $message) {
            $messages[] = array(
                'text' => $message,
                'type' => $quoteItem->getHasError() ? 'error' : 'notice'
            );
        }
    }

pourrait fonctionner. Juste une idée.

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