Alle Zahlungsmethoden sind nicht in der Warenkorbpreisregel enthalten

Antworten:

10

Datei öffnen Anbieter / magento / Modulzahlung / Helfer / data.php

Geben Sie in Zeile 268 diese Zeile ein

$data['active'] = 1;

Wenn Sie die Kerndatei nicht ändern möchten, müssen Sie diese Datei überschreiben. Befolgen Sie dazu den folgenden Code

Gehen Sie zu Vendor / Extension / etc / di.xml und schreiben Sie den folgenden Code in di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Payment\Helper\Data" type="Vendor\Extension\Helper\Data"/>
</config>

Der nächste Schritt besteht darin, die Datei Data.php unter Vendor \ Extension \ Helper \ Data.php zu erstellen

<?php
namespace Vendor\Extension\Helper;

use Magento\Payment\Helper\Data as MainHelper;

class Data extends MainHelper
{
    public function getPaymentMethodList($sorted = true, $asLabelValue = false, $withGroups = false, $store = null)
    {
        $methods = [];
        $groups = [];
        $groupRelations = [];


        foreach ($this->getPaymentMethods() as $code => $data) {

            $data['active'] = 1;

            if (!empty($data['active'])) {
                $storedTitle = $this->getMethodInstance($code)->getConfigData('title', $store);
                if (isset($storedTitle)) {
                    $methods[$code] = $storedTitle;
                } elseif (isset($data['title'])) {
                    $methods[$code] = $data['title'];
                }
            }
            if ($asLabelValue && $withGroups && isset($data['group'])) {
                $groupRelations[$code] = $data['group'];
            }
        }
        if ($asLabelValue && $withGroups) {
            $groups = $this->_paymentConfig->getGroups();
            foreach ($groups as $code => $title) {
                $methods[$code] = $title;
            }
        }
        if ($sorted) {
            asort($methods);
        }
        if ($asLabelValue) {
            $labelValues = [];
            foreach ($methods as $code => $title) {
                $labelValues[$code] = [];
            }
            foreach ($methods as $code => $title) {
                if (isset($groups[$code])) {
                    $labelValues[$code]['label'] = $title;
                    if (!isset($labelValues[$code]['value'])) {
                        $labelValues[$code]['value'] = null;
                    }
                } elseif (isset($groupRelations[$code])) {
                    unset($labelValues[$code]);
                    $labelValues[$groupRelations[$code]]['value'][$code] = ['value' => $code, 'label' => $title];
                } else {
                    $labelValues[$code] = ['value' => $code, 'label' => $title];
                }
            }

            return $labelValues;
        }


        return $methods;
    }
}
Jigs Parmar
quelle
Funktioniert nicht und ich kann keine Kerndateien bearbeiten.
Magecode
In Magento 2.3.1 können wir Regeln mit der Zahlungsmethode erstellen, aber warum werden bei der Auswahl der Bedingungen nicht alle Zahlungsmethoden angezeigt?
Magecode
Es funktioniert für mich. Können Sie den Screenshot teilen, was Sie genau platzieren, wenn Sie die Kerndatei nicht bearbeiten möchten, dann überschreiben Sie diese Datei und ändern sie
Jigs Parmar
meetanshi.d.pr/ynAITh
Jigs Parmar
5

Sie können den folgenden Link verwenden

/magento//a/128606/70565

Ich hoffe, es ist nützlich für Sie.

Sweety Masmiya
quelle
In Magento 2.3.1 können wir Regeln mit der Zahlungsmethode erstellen, aber warum werden bei der Auswahl der Bedingungen nicht alle Zahlungsmethoden angezeigt?
Magecode
Ich habe in Magento 231 Version eingecheckt, in dieser Zahlungsmethode ist keine Bedingung verfügbar.
Sweety Masmiya
Verwenden Sie eine Erweiterung oder eine Standard-Magento-Funktionalität?
Sweety Masmiya
Standard Magento Funktionalität
Magecode
Ich habe in der Standardversion Magento 231 eingecheckt, in dieser Zahlungsmethode ist die Bedingung nicht verfügbar.
Sweety Masmiya