Trong Magento 2.3.1 tôi đang tạo Quy tắc giá giỏ hàng cho Phương thức thanh toán. Tôi phải tạo cho Chuyển khoản ngân hàng nhưng có tùy chọn Chuyển khoản ngân hàng không đến.
Trong Magento 2.3.1 tôi đang tạo Quy tắc giá giỏ hàng cho Phương thức thanh toán. Tôi phải tạo cho Chuyển khoản ngân hàng nhưng có tùy chọn Chuyển khoản ngân hàng không đến.
Câu trả lời:
mở nhà cung cấp tệp / magento / mô-đun thanh toán / Người trợ giúp / dữ liệu.php
tại dòng số 268 đặt dòng này
$data['active'] = 1;
nếu bạn không muốn thay đổi trong tệp lõi hơn bạn cần ghi đè tệp đó theo mã bên dưới
Chuyển đến Nhà cung cấp / Tiện ích mở rộng / etc / di.xml và Viết mã bên dưới vào 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>
Bước tiếp theo là tạo tệp Data.php tại 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;
}
}