Deaktivieren oder Ausblenden von Versandoptionen und Position, wenn keine Produkte sind shippable # 1518034

1) Ausweitung des Produkt Entities
Hinzufügen einer Markierung (boolean) shippable ja / nein

2) In Auswerteregeln
An der Kasse oder die Eingabe Kasse validieren alle Produktpositionen in den Warenkorb gelegt und wenn keine sind shippable:
a) verbergen Lieferadresse Panel
b) ausblenden für Kasse Versand Schritt -> direkten Kundenauftrag von der Kasse Start Meinung
c) Auf Wagen Ansicht Versand Position Eintrag für eine gute Maßnahme entfernen

So kann ich erreichen Artikel 2a, 2b und 2c mit Regeln oder sollte ich auf ein benutzerdefiniertes Modul Schreiben in den Prozess anschließen? Im schlimmsten Fall würde ich das commerce_shipping Modul hacken meinen speziellen Anwendungsfall zu unterstützen.

Ich brauche diese auch genaue Funktionalität. Willing auf diesem zu helfen.

Versandarten wird durch Regeln angezeigt und ausgeblendet, wenn keine Optionen zur Verfügung, so können Sie Setup-Regeln die Optionen aus- / eingeblendet. Der Artikel Reederei wird nur erstellt, wenn ein Versand ausgewählt ist und Sie können Regeln Logik oder Code in den Versandpositionen zu löschen.

Ja, ich folge der Logik, aber wenn keine Versandoptionen existieren die Versandtafel erscheint noch in der Kasse. Ohne ein Attribut oder „Zustand“ für ein bestimmtes Produkt werden Sie nicht in der Lage sein, zu bestimmen, ob (einmal als Produktlinie Artikel hinzugefügt), wenn es Versand erfordert oder nicht.

Im Moment bin ich die Nutzung der Versandmodul Flatrate. Die, wie der Name schon sagt bietet Flatrate Versandoptionen, unabhängig davon, die Produkte in den Warenkorb gelegt oder die Anzahl der Elemente hinzugefügt hinzugefügt.

Also, wie gesagt, bevor ich könnte einen boolean-Flag auf jeden Produkttyp „shippable“ hinzugefügt ja / nein. Dann eine Regel schreiben, wenn der Kasse beginnt, prüfen Sie, ob die kombinierte Liste der Produktlinie Artikel im Gesamtwert von „Ja“ haben. Wenn jeder einen Wert von ja die Versandmodul-Displays und Business-Logik hat normalerweise laufen. Wenn nein, würde ich Regeln verwenden oder ein benutzerdefiniertes Modul alle Versandplatten / Optionen zu verbergen und stellen Sie sicher, eine Reederei Element wird in der Reihenfolge hinzugefügt.

Immerhin, das ist der Plan; Ich werde schreiben Updates auf meine Fortschritte. Wenn ich es alle mit Regeln und ein paar Felder auf jeden Produkttyp erreichen kann ich einen Export der Regeln poste ich gebaut habe. Ehrlich gesagt würde ich erwarten, dass die Versandmodule diesen Anwendungsfall abdecken würde. Nicht alle Produkte sind lieferbar.

Anywho, wünscht mir Glück.

So dass ich nur ein Regeln Zustand sehen, wie es zur Kasse bezieht sich „Kasse abgeschlossen ist:“ Wie kann ich Auswertung auf Wagen Belastung auslösen?

während auf Checkout Last vorrendern der Kasse-Seite, die alle Platten auflistet (Versand einer der Platten zu sein Ich mag würde verstecken)?

Wie kann ich die „Versand“ Seite von der Kasse entfernt werden, wenn es keine Bedingung noch Aktion ist, dies zu tun?

Ich arbeite immer noch durch diese (die am wahrscheinlichsten Punkte zu einem benutzerdefinierten Modul) und versuchen Sie es mit Regeln zu erreichen, wie Sie empfohlen. Aber bei genauem Hinsehen scheint diese Richtung ein zu wenig „vereinfacht“ eine Antwort auf mir wirklich zu helfen.

Also habe ich den Status geändert, wie dieses Problem nicht behoben ist. und wenn ich es löst ich werde die exportierten Regeln (oder benutzerdefinierten Modul) befestigen ich verwenden, um tatsächlich das Problem zu lösen. Ich hoffe nur solche Funktionen können in den Standard des Moduls installieren gerollt werden. Es wäre toll, mehr behinderten Regeln zum Versand Modul hinzugefügt zu haben, die Benutzer basierend ermöglichen können auf ihrem jeweiligen Geschäftsfall muss.

Follow-up meiner Fortschritte bisher. Ich habe einen boolean „shippable“ als Filter, wenn das Produkt Positionen Auswertung automatisch hilft zu bestimmen, ob ein Auftrag alle lieferbaren Produkte hat.

Zweiter folgte ich die Empfehlungen des kostenlosen Online-Trainings von Commerce Guys über „Gewicht“ basierte Produkte mit und bedingt den Versandpreis nach Menge und Gewicht berechnet wird.

Als nächstes habe ich Bewertungsregeln für den Standard-Versand „Platzhalter“ für meine Versandart. Ich habe eine Bewertung, die die Versandart vollständig entfernen würde als eine Option, keine Produkte waren shippable ist. Sicher genug die Versandart versteckt, aber was verbirgt nicht der Versand Seite in der Kasse Workflow. (

Nevermind Ich brauche auch einen Haken zu schreiben, die Lieferadresse Feld der ersten Besuche Seite zu verstecken, wenn Versand nicht erforderlich ist. Ich hoffe, ich kann die Auftragsposition Produkte von der ersten Seite bewerten.

Ich bin auch in Not dieser Funktionalität. Hier ist, wie ich es sehe:

1. Jedes Produkt muss ein Checkbox-Feld hat, ob es shippable ist oder nicht
2. Mögliche Standard zu definieren, basierend auf Produkt-Typ, um Zeit zu sparen
3. Wählen Sie auf der Kasse, wenn keine Produkte im Warenkorb shippable sind, nicht das Versandprofil anzeigen und die Versandmethoden

Ich bin bereit, das bei 200 $ zu finanzieren. Wird das tun? Wird jemand mit mir sonst eine Prämie anzubieten?

Jeder Abnehmer auf der oben genannten Prämie?

mmmm, wo sind die Anhänger. Ich denke, dass dieses Thema für echten Handel proyects sehr importante ist. Bitte beachten Sie, wenn Sie interessiert sind. es kann nicht nur 7 Anhänger sein!

Update, so wie ich es beschrieben habe ich geführt haben, sich mit dem physischen Produkt, Gewichtsfeld und boolean „Ist Lieferbar?“ auf jedem Produkttyp in dem Laden.

Als nächstes habe ich mehrere Regeln sowohl in der Warenkorb gelegt, Versandart und Kasse Aktionen.

Wegen der Zeit habe ich die Mühe geben, um tatsächlich die Versandelemente in der GUI zu verstecken. Aber ich hoffe, Zeit zu haben (wir Monate hier reden), ein Modul zu bauen die Anzeige der Versandplatte und Versand Seite in der Kasse zu überschreiben.

Hallo emptyvoid, können Sie mir erklären, ein wenig mehr, wie haben Sie es geschafft, nicht Versand Form zu laden.
Ich versuche, etwas mit Regeln, aber ich kann keine Option sehen, dies zu tun. Plus, ich habe keine Gewichte. Ich möchte nur, damit der Benutzer wählen, auf Kasse: Kasse, wenn er Versand benötigen oder nicht.

Hallo Emtyvoid,
Ich habe ein benutzerdefiniertes Modul codiert, die nach Ihren Bedürfnissen ist.
Bei diesem Verfahren wird es ein boolean Wert sein, in Form eines Kontrollkästchen, die für Gegenstände shippable oder nicht sein werden.
Wenn nicht lieferbare, bei der Kasse, wird kein Versandinfobereich angezeigt. Aber wenn shippable, Versandinfobereich angezeigt.

Wenn Sie das Modul wollen, lassen Sie es mich wissen.

Dank DuaelFr! Funktioniert perfekt!

Aber ich sollte beachten Sie, dass Ihr Patch in # 1344962: einige hilfreiche Regeln Bedingungen hinzufügen scheint nicht die neue Bedingung „commerce_physical_rules_order_is_shippable“ zu haben, die Sie genannt haben. Sein haupt nicht ein Problem für mich, (ich habe nur 1 lieferbaren Artikel, so kann ich eine Bedingung leicht Setup up für das Produkts des sku zu überprüfen), aber ich dachte, ich würde es erwähnen, weil Sie Ihren Patch verdoppeln möchten überprüfen um sicherzustellen, dass alle haben Ihre Arbeit enthalten.

Nochmals vielen Dank für Ihre Hilfe!

Ein Update: die Lösungen in # 41 und $ 42, sowie die Handelsregeln Extra-Modul, die sich auf das Deaktivieren der Versandbereich (s). Leider ist dies ein globaler Wert und wirkt sich auf den Status im Abschnitt Verwaltung des Fensters als auch. Deshalb glaube ich nicht, diese praktikable Lösungen sind, zumindest noch. Es ist ein Thread auf # 1122386: Regeln erlauben zu steuern, welche Scheiben sichtbar sind während der Prüfung, die einige dieser Probleme diskutiert, und es scheint die Wurzel der Lösung wird ein tieferer Commerce fix sein, die Regeln für die Sichtbarkeit einer Scheibe anpassen kann, deaktivieren es eigentlich nicht.

EDIT: Bei genauerem Hinsehen # 41 und # 42 scheinen besser als die Handelsregeln Zusatzmodul, da das Modul globale Variablenwerte aktualisiert, in Bezug auf die oben genannten Lösungen gegenüber, die mit alten () Haken die Scheibe für einen bestimmten Auftrag zu aktualisieren.

Dann müssen Sie den folgenden Code in einem benutzerdefinierten Modul zum Einfügen ( „mymodule“ mit dem Namen der benutzerdefinierten Modul ersetzen):

Dann stellen Sie sicher, Regeln Setup ähnlich wie diese haben, oder einfach diese Regeln importieren. Basierend auf dem Modul in # geschrieben 27.

Vielen Dank für alle in diesem Thread! Es wäre schön, nicht ein benutzerdefiniertes Modul verwenden zu müssen, sondern stattdessen einen Patch haben all dies geschrieben sind, aber jetzt das funktioniert.

Wie haben konfigurieren Sie eine Regel einen Versandservice zu verbergen? Ich halte googleing dies zu versuchen, es herauszufinden, aber alles, was ich zu sehen, halten ist dieses Thema.

EDIT: Es scheint, dass der einzige Weg, ein Versandservice ist über die ersten Regeln zu deaktivieren oder zu verbergen, die den Versand-Service machen. Ich benutzte das Conditional Rules Modul aufwendigen Regeln zu erstellen, die dann in den Bedingungen einer Versandservice Komponente Regel füttern würde. So anspruchsvoll wie es war, würde ich die Menge zu sagen habe ich über die Regeln in den letzten Tagen gelernt habe ist von unschätzbarem Wert. Um alle Menschen, die komplexen Versandregeln zu tun versuchen, es zu halten und das Modul überprüft ich erwähnt. Es gibt auch ein paar Tutorials da draußen auf, wie bestimmte Dinge zu tun, stellen Sie sicher, dass Sie darauf achten, im Gegensatz zu blind den Anweisungen folgen, weil Sie viel lernen.

Als ich versuchte, die Regel zu importieren gab es mir eine SQL-Integritätsfehler, so habe ich die Regel von Grund auf neu. Eine andere Möglichkeit, diese für die von Ihnen zu tun, in einer ähnlichen Situation befindet sich an der Art der Produkte im Warenkorb zu suchen. Wenn Sie Gutscheine Produkte haben, ist hier eine Regel für den Einstieg:

Wenn die Regel nicht oder haben Sie eine andere Art von nicht-lieferbarem Produkt, erstellen Sie eine neue Regel mit den folgenden Schritten:

  1. Erstellen Sie eine neue Regel (/ admin / config / Workflow / Regeln)
  2. Reagieren Sie auf Ereignis. Commerce Kasse -> Commerce Kasse Bereich
  3. In Bedingungen: Bedingung hinzufügen. Commerce Order -> Auftrag enthält Produkte bestimmter Produkttypen. Wählen Sie die Art von nicht-lieferbare Produkte
  4. Für jede Art von nicht-lieferbarem Produkt: Bedingung hinzufügen. Commerce Auftrag -> Gesamtprodukt vom Typ Menge Vergleich. Wählen Sie den Typ von nicht-lieferbare Produkt. Ausschließen. Check (true). Operator. =. Anzahl. 0.
  5. In Bedingungen: In und.
  6. Ziehen Sie alle oben genannten Bedingungen unter und
  7. In Aktionen: Für jede Scheibe müssen Sie (Versandinformationen und Versandservice in der Standardeinstellung) deaktivieren: Aktion hinzufügen. Commerce Checkout-> Eigenschaften ändern Bereich. Wert. Pane geändert werden. Seite zu bewegen. . Aktiviert. Nicht markiert (false).
  8. Für die letzte Scheibe im Versand Schritt (in der Regel Versandservice) gesetzt Seite zu bewegen. Kommentieren.
  9. Test Test Test !!

Ich erhalte die folgende Fehlermeldung auf der Checkout-Seite, wenn ich versuche # 60

Was mache ich falsch?
Regel:

ryanfc78 hast du es herausgefunden? Das UND geht zwischen den ersten beiden Bedingungen.

# 60 funktioniert super! Dank MD3!

Ich beendete die ganze Abrechnung bis Konsolidierung und Versand Info auf der Checkout-Seite, so dass es weniger Klicken. Der Versand Seite wird automatisch deaktiviert, sobald es keine Scheiben hat.

Dies ist die Regel, die ich sowohl den Versand Info und Versandservice auf Anfrage ohne lieferbare Produkte deaktivieren bin mit:

In Verbindung stehende Artikel