Fügen Sie die CC-Zahlungsvorlage in eine andere Vorlage ein


7

Ich arbeite an einem Kreditkartenzahlungsmodul.
Ich sehe, dass Magento 2 bereits eine Vorlage für CC-Zahlungen bietet , die jedoch nur das für die Zahlung erforderliche Formular enthält.
Es gibt kein Optionsfeld, das ich beim Auschecken überprüfen kann.
Also, wenn ich meinen Zahlungsmethoden-Renderer so erstelle.

define(
    [
        'Magento_Payment/js/view/payment/cc-form'
    ],
    function (Component) {
        'use strict';

        return Component.extend({
            defaults: {
               template: 'Magento_Payment/payment/cc-form'
            },
            isActive: function() {
                return true;
            },
            getCode: function() {
                return 'payment_code_here';
            }
        });
    }
);

Mein Zahlungsbereich an der Kasse würde folgendermaßen aussehen (Scheck / Zahlungsanweisung ist eine andere Zahlungsmethode):

Und ich möchte, dass es so aussieht:

Ich weiß, dass ich meine eigene Vorlage erstellen und den Methodenrenderer folgendermaßen definieren kann:

define(
    [
        'Magento_Payment/js/view/payment/cc-form'
    ],
    function (Component) {
        'use strict';

        return Component.extend({
            defaults: {
                template: '<Vendor>_<Module>/payment/form'
            },
            isActive: function() {
                return true;
            },
            getCode: function() {
                return 'payment_code_here';
            }
        });
    }
);

Und in dieser Vorlage fügen Sie das Markup für das Optionsfeld hinzu und kopieren / fügen Sie einfach die Standard-CC-Formularvorlage dort ein, wo ich sie benötige, aber ich versuche dies zu vermeiden.
Gibt es eine Möglichkeit, eine andere Vorlage in meine Vorlage aufzunehmen?
Dies ist möglicherweise eher eine KO-Frage als Magento.

Um es besser zu erklären ...

Meine benutzerdefinierte Vorlage sieht folgendermaßen aus:

<my custom code here />
<code copied from cc-form /> 
<some other custom code here />

Ich möchte durch <code copied from cc-form />ein Include ersetzen, von dem der Inhalt abgerufen wird cc-form.


Marius, wie kann ich die Magento 2-Vorlage für CC-Zahlungen in meinem benutzerdefinierten Zahlungsmodul verwenden? Ich wollte ein CC-Formular an der Kasse zeigen.
— Charlie

Antworten:


8

Ich bin nicht sicher, ob ich die Frage vollständig verstehe. Wollen Sie damit eine KO-HTML-Vorlage aus einer anderen Vorlage / einem anderen Modul aufrufen?

Wenn ja, funktioniert meines Erachtens das folgende Markup (derzeit nicht testbar):

<!-- ko template: "Package_Namespace/template-name" --><!-- /ko -->

Alternativ können Sie die Vorlage in einem Objekt definieren und eine Eigenschaft wie folgt übergeben:

<!-- ko template: propertyExample --><!-- /ko -->

Ja, ich möchte eine andere Vorlage in meine Vorlage aufnehmen. Ich werde es versuchen und mit den Ergebnissen zurückkommen.
— Marius

Cool, ich habe gerade eine alternative Methode mit Eigenschaften hinzugefügt.
— Ben Crook

Ich kann nicht glauben, dass es so einfach war. Vielen Dank. Ich werde Ihnen die gefälschten Internetpunkte in ungefähr 23 Stunden geben, wenn ich das darf.
— Marius

1
Die KO-Implementierung wächst langsam auf mich zu, zuerst war es erschreckend. Danke, ich liebe mich einige gefälschte Internetpunkte.
— Ben Crook

@ BenCrook hilfreiche Infos.
— Khoa TruongDinh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.