Toutes les méthodes de paiement ne viennent pas dans la règle de prix du panier


Réponses:


10

fournisseur de fichiers ouverts / magento / module-payment / Helper / data.php

au numéro de ligne 268 mettre cette ligne

$data['active'] = 1;

si vous ne voulez pas modifier le fichier principal, vous devez remplacer ce fichier, suivez le code ci-dessous

Allez dans Vendor / Extension / etc / di.xml et écrivez le code ci-dessous dans 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>

L'étape suivante consiste à créer un fichier Data.php dans Vendor \ Extension \ Helper \ Data.php

<?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;
    }
}

Ne fonctionne pas et je ne peux pas modifier les fichiers de base.
Magecode

Dans Magento 2.3.1, nous pouvons créer une règle en utilisant le mode de paiement, mais pourquoi tous les modes de paiement ne viennent-ils pas dans la sélection des conditions?
Magecode

son travail pour moi pouvez-vous partager la capture d'écran de ce que vous placez exactement, si vous ne voulez pas éditer le fichier core que vous remplacez ce fichier et changez
Jigs Parmar



5

Vous pouvez utiliser le lien ci-dessous

https://magento.stackexchange.com/a/128606/70565

J'espère que c'est utile pour vous.


Dans Magento 2.3.1, nous pouvons créer une règle en utilisant le mode de paiement, mais pourquoi tous les modes de paiement ne viennent-ils pas dans la sélection des conditions?
Magecode

J'ai un chèque dans la version magento 231, dans la mesure où la condition du mode de paiement n'est pas disponible.
Sweety Masmiya

Utilisez-vous une extension ou une fonctionnalité par défaut de Magento?
Sweety Masmiya

Fonctionnalité Magento par défaut
Magecode

J'ai vérifié dans la version par défaut de magento 231, dans la mesure où la condition du mode de paiement n'est pas disponible.
Sweety Masmiya
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.