모든 결제 수단이 장바구니 가격 규칙에 포함되지 않습니다


답변:


10

파일 공급 업체 /magento/module-payment/Helper/data.php 열기

268 행에서이 행을 넣어

$data['active'] = 1;

코어 파일을 변경하지 않으려면 해당 파일을 재정의 해야하는 것보다 아래 코드를 따르십시오.

Vendor / Extension / etc / di.xml로 이동하여 아래 코드를 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>

다음 단계는 Vendor \ Extension \ Helper \ Data.php에 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;
    }
}

작동하지 않으며 핵심 파일을 편집 할 수 없습니다.
Magecode

Magento 2.3.1에서는 결제 수단을 사용하여 규칙을 생성 할 수 있지만 모든 결제 수단이 조건 선택에없는 이유는 무엇입니까?
Magecode

그것은 나를 위해 일할 수 있습니다 당신은 당신이 그 파일을 무시하고 변경하는 것보다 핵심 파일을 편집하고 싶지 않으면 정확한 위치를 스크린 샷을 공유 할 수 있습니다
Jigs Parmar



5

아래 링크를 사용할 수 있습니다

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

도움이 되길 바랍니다.


Magento 2.3.1에서는 결제 수단을 사용하여 규칙을 생성 할 수 있지만 모든 결제 수단이 조건 선택에없는 이유는 무엇입니까?
Magecode

지불 방법 조건을 사용할 수 없다는 점에서 magento 231 버전을 확인했습니다.
Sweety Masmiya 2016 년

확장 기능 또는 기본 마 젠토 기능을 사용하고 있습니까?
Sweety Masmiya 2016 년

기본 마 젠토 기능
Magecode

결제 방법 조건을 사용할 수 없다는 기본 magento 231 버전을 확인했습니다.
Sweety Masmiya 2012 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.