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
quelle
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 -->
Ben Crook
quelle
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