Désactivation ou masquage des options d'expédition et de ligne si l'article aucun produit ne shippable # 1518034

1) étendre les entités du produit
Ajouter un drapeau (booléen) shippable oui / non

2) Ajouter des règles d'évaluation
Sur la caisse ou la caisse entrant valider toutes les lignes de produits dans le panier et si aucun ne shippable:
a) masquer le panneau d'adresse de livraison
b) Masquer étape d'expédition pour votre commande -> client direct pour examiner l'ordre du début de la caisse
c) En vue de panier supprimer l'entrée de poste d'expédition pour faire bonne mesure

Donc, je peux accomplir articles 2a, 2b et 2c en utilisant des règles ou devrais-je regarder écrire un module personnalisé pour accrocher dans le processus? Le pire cas, je dois pirater le module commerce_shipping pour soutenir mon cas particulier d'utilisation.

J'ai besoin cette fonctionnalité exacte ainsi. Prêt à aider à ce sujet.

Options de livraison sont affichées par des règles et masquées si aucune option est disponible, donc vous pouvez configurer des règles pour masquer / afficher les options. Le poste d'expédition est créé uniquement si une expédition est sélectionnée et que vous pouvez ajouter une logique ou un code des règles pour supprimer les éléments d'expédition.

Oui je suis votre logique, si aucune option d'expédition existent le panneau de navigation apparaît toujours dans le processus de commande. Sans un attribut ou « Etat » pour un produit donné, vous ne serez pas en mesure de déterminer si (une fois ajouté comme élément de la ligne de produit) si elle nécessite l'expédition ou non.

Pour le moment, je suis tirant parti du module d'expédition de taux forfaitaire. Qui, comme son nom l'indique fournit les options d'expédition à taux fixe, quels que soient les produits ajoutés au panier ou le nombre d'éléments ajoutés.

Donc, comme je l'ai dit avant que je puisse ajouter un drapeau booléen à chaque type de produit « shippable » oui / non. Puis écrire une règle lorsque la caisse commence, vérifiez si la liste combinée des articles de la gamme de produits ont une valeur de « oui ». Le cas échéant ont une valeur yes du module d'expédition et affiche la logique métier ne fonctionne normalement. Si non, j'utiliser des règles ou un module personnalisé pour cacher tous les panneaux d'expédition / options et assurez-vous une ligne de transport ne sont pas ajouté à l'ordre.

Au moins, c'est le plan; Je vais poster des mises à jour sur mes progrès. Si je peux accomplir tout en utilisant des règles et quelques champs sur chaque type de produit que je posterai une exportation des règles que j'ai construit. Honnêtement, je me attends à ce que les modules d'expédition couvriraient ce cas d'utilisation. Tous les produits ne sont shippable.

Anywho, je souhaite bonne chance.

Donc, je ne vois qu'une seule des règles en ce qui concerne la condition à la caisse « Passer la commande est terminée » comment puis-je déclencher l'évaluation sur le chariot de charge?

la charge de cours avant Commander rendre de la page de paiement qui répertorie tous les panneaux (expédition étant l'un des panneaux que je voudrais cacher)?

Comment puis-je supprimer la page « Expédition » du processus de commande s'il n'y a aucune condition ni l'action de le faire?

Je travaille toujours à travers ce (qui points les plus susceptibles à un module personnalisé) et tenter de l'accomplir en utilisant les règles que vous avez recommandé. Mais après inspection minutieuse cette direction semble un peu trop « simplifiée » d'une réponse à me aider réellement.

J'ai donc changé le statut de cette question n'est pas résolu. et si je ne le résous je vais fixer les règles exportées (ou module personnalisé) j'ai utilisé pour résoudre effectivement le problème. J'espère que ces caractéristiques peuvent être roulés dans l'installation par défaut du module. Il serait bon d'avoir plusieurs règles handicapées ajoutée au module d'expédition utilisateurs peuvent activer en fonction de leur analyse de rentabilisation des besoins particuliers.

Suivi de mes progrès jusqu'ici. J'ai un booléen « shippable » comme un filtre lors de l'évaluation des éléments de la ligne de produit, il aide à déterminer automatiquement si une commande a des produits pouvant être expédiés.

Deuxièmement j'ai suivi les recommandations de la formation en ligne gratuit de Commerce Guys sur l'utilisation de produits à base de « poids » et le calcul conditionnellement le prix de l'expédition en quantité et le poids.

Ensuite, j'ajouté des règles d'évaluation pour l'expédition standard « espace réservé » pour ma méthode d'expédition. J'ai ajouté une évaluation qui totalement supprimer la méthode d'expédition en option est Aucun produit n'a été shippable. Effectivement la méthode d'expédition cache, mais ce qui ne cache pas est la page d'expédition dans le flux de travail Checkout. (

Nevermind Je vais aussi avoir besoin d'écrire un crochet pour cacher le panneau d'adresse de livraison de la première page lorsque vous consultez l'expédition n'est pas nécessaire. Je l'espère, je peux évaluer les produits de l'élément de ligne de commande de la première page.

Je suis aussi désespérément besoin de cette fonctionnalité. Voici comment je vois:

1. Chaque produit doit avoir un champ de case à cocher, que ce soit ou non shippable
2. Possibilité de définir par défaut en fonction du type de produit, pour gagner du temps
3. Au moment du départ, si aucun produit dans le panier sont shippable, ne pas afficher le profil de navigation et les méthodes d'expédition

Je suis prêt à financer ce à 200 $. Cela fera-t-il? Est-ce que quelqu'un d'autre se joindre à moi une prime?

Des preneurs sur la prime au-dessus?

mmmm, où sont les disciples. Je pense que cette question est très proyects pour en importantes commerce réel. S'il vous plaît suivre si vous êtes intéressé. il ne peut pas être seulement 7 adeptes!

Mise à jour, donc comme je l'ai décrit, je l'ai donné lieu à l'utilisation du produit physique, champ de poids et booléen « est expédiable? » sur tous les types de produits dans le magasin.

Ensuite, j'ajouté plusieurs règles à la fois dans le panier, les méthodes d'expédition, et les actions de caisse.

En raison du temps, je l'ai mis l'effort pour cacher en fait les éléments de navigation dans l'interface graphique. Mais j'espère avoir le temps (on parle ici des mois) pour construire un module pour passer outre l'affichage du panneau de navigation et la page d'expédition dans le processus de commande.

Salut emptyvoid, pouvez-vous me expliquer un peu plus comment avez-vous réussi à ne pas charger la forme de livraison.
J'essaie quelque chose avec des règles, mais je ne vois aucune possibilité de le faire. De plus, je n'ai pas de poids. Je veux juste de laisser l'utilisateur choisir le Commander: Commander s'il besoin d'expédition ou non.

Salut Emtyvoid,
J'ai codé un module personnalisé, qui est selon vos besoins.
Dans cette méthode, il y aura une valeur booléenne, sous la forme d'une case à cocher, qui sera pour les articles pouvant être expédiés ou non.
Sinon shippable, lors de votre commande, pas de volet information d'expédition sera affiché. Mais si shippable, volet d'information d'expédition sera affiché.

Si vous voulez que ce module, laissez-moi savoir.

Merci DuaelFr! Fonctionne parfaitement!

Mais je dois souligner que votre patch # 1344962: Ajouter des conditions de règles utiles ne semble pas avoir la nouvelle condition « commerce_physical_rules_order_is_shippable » que vous avez mentionné. Ce ne est pas du tout un problème pour moi, (je n'ai que 1 point shippable, donc je peux configurer facilement un état pour vérifier sku de ce produit), mais je pensais que je le mentionner parce que vous pouvez vérifier votre patch pour vous assurer que votre travail se est inclus.

Merci encore pour votre aide!

Une mise à jour: les solutions # 41 et 42 $, ainsi que les règles du commerce Module supplémentaire, se fondent sur la désactivation du volet d'expédition (s). Malheureusement, ceci est une valeur globale et affecte le statut du volet dans la section d'administration ainsi. Par conséquent, je ne pense pas que ce sont des solutions viables, au moins encore. Il y a un fil à # 1122386: Permettre aux règles de contrôle qui vitres sont visibles lors de votre commande qui traite de certains de ces problèmes, et il semble que la racine de la solution sera une solution de commerce plus profond qui permet aux règles d'ajuster la visibilité d'un volet, ne pas désactiver réellement.

EDIT: Après une inspection plus minutieuse, # 41 et # 42 semblent mieux que les règles de commerce __gVirt_NP_NN_NNPS<__ Module supplémentaire, comme le module met à jour les valeurs des variables globales, par opposition aux solutions ci-dessus qui crochets utilisent modifier () pour mettre à jour le volet pour un ordre particulier.

Ensuite, vous devez insérer le code suivant dans un module personnalisé (en remplaçant « mymodule » avec le nom de votre module personnalisé):

Ensuite, assurez-vous que vous avez configuré des règles similaires à celles-ci, ou simplement importer ces règles. Basé sur le module affiché dans # 27.

Merci pour tout le monde dans ce fil! Ce serait bien de ne pas avoir à utiliser un module personnalisé, mais à la place un correctif écrit pour inclure tout cela, mais pour l'instant cela fonctionne.

Comment avez-vous configurer une règle pour cacher un service d'expédition? Je garde googleing cela pour essayer de le comprendre, mais tout ce que je continue à voir est ce problème.

EDIT: Il semble que la seule façon de désactiver ou masquer un service d'expédition est par les règles initiales qui rend le service d'expédition. J'ai utilisé le module des règles conditionnelles pour créer des règles élaborées qui alimenteront ensuite les conditions d'une règle de composante service d'expédition. Aussi difficile que c'était, je dois dire le montant que je l'ai appris sur les règles au cours des derniers jours est inestimable. Pour tout les gens qui essaient de faire des règles de navigation complexes, persévérez et vérifier le module je l'ai mentionné. Il y a aussi quelques tutoriels là sur la façon de faire des choses spécifiques, assurez-vous que vous faites attention au lieu de suivre aveuglément les instructions parce que vous apprendrez beaucoup.

Quand j'ai essayé d'importer votre règle, il m'a donné une erreur d'intégrité SQL, donc je créé la règle à partir de zéro. Une autre façon de le faire pour ceux d'entre vous face à une situation similaire est de regarder le type de produits dans le panier. Si vous avez des produits de Chèque Cadeau, voici une règle pour vous aider à démarrer:

Si la règle échoue ou si vous avez un autre type de produit non-shippable, créer une nouvelle règle en procédant comme suit:

  1. Créer une nouvelle règle (/ admin / config / flux de travail / règles)
  2. Réagissez sur l'événement. Commerce Commander -> Panneau de commande Commerce
  3. Conditions: Ajouter une condition. Commerce de commande -> Commander contient des produits de certains types de produits. Sélectionnez le type de produits non shippable
  4. Pour chaque type de produit non-shippable: Ajouter une condition. Commerce de commande -> produit total de comparaison de quantité de type. Sélectionnez le type de produit non shippable. Exclure. Vérifiez (true). Opérateur. =. Quantité. 0.
  5. Dans des conditions: Ajouter et.
  6. Faites glisser toutes les conditions ci-dessus sous le et
  7. Dans Actions: Pour chaque volet, vous devez désactiver (Informations sur la livraison et service d'expédition par défaut): Ajouter action. Commerce Checkout-> Modifier Propriétés du volet. Valeur. Volet à modifier. Page pour passer. . Activée. Décochée (false).
  8. Pour le dernier volet dans l'étape de livraison (généralement service d'expédition) Choisir la déplacer. ordonnance de révision.
  9. test test test !!

Je reçois l'erreur suivante sur la page de paiement lorsque je tente # 60

Qu'est-ce que je fais mal?
Règle:

ryanfc78 avez-vous comprendre? Le ET va inbetween les deux premières conditions.

# 60 fonctionne très bien! Merci MD3!

J'ai fini par consolider toutes les informations de facturation et de livraison sur la page de paiement, donc il y a moins de clic. La page d'expédition se désactivé automatiquement une fois qu'il n'a pas les vitres.

Telle est la règle que je utilise pour désactiver à la fois Info Services d'expédition et de livraison pour les commandes sans produits pouvant être expédiés:

Articles Liés