magento 2 - отображение логотипа способа доставки
Я создал модуль для добавления логотипа способа доставки. В бэкэнде он успешно работает нормально, например, загружает изображение логотипа, удаляет изображение логотипа и т.д. Пожалуйста, посмотрите на изображение ниже.
Но я застрял, чтобы отобразить это изображение логотипа на странице оформления заказа в списке способов доставки.
Как отобразить пользовательское значение конфигурации системы в html-файле knockoutjs. Я новичок в knockoutjs, пожалуйста, дайте мне инструкции по добавлению логотипа в тарифы массив.
1 answers
Попробуйте использовать следующий способ.
App/code/Vendor/ModuleName/view/frontend/web/js/view/custom-shipping.js
define([
'ko',
'jquery',
'uiComponent',
'mage/storage',
'mage/url'
], функция (ko, $, компонент, хранилище, URL) { "использовать строгий";
return Component.extend({
defaults: {
template: 'Vendor_ModueName/payment/payment'
},
getconfigValue: function () {
var serviceUrl = url.build('modulename/custom/storeconfig');
storage.get(serviceUrl).done(
function (response) {
if (response.success) {
return response.value
}
}
).fail(
function (response) {
return response.value
}
);
return false;
}
});
});
Создать контроллер
App/code/Vendor/ModuleName/Controller/Custom/Storeconfig.php
namespace Vendor\ModuleName\Controller\Custom;
Класс Storeconfig расширяет \Magento\Рамки\Приложение\Действие\Действие {
protected $resultJsonFactory;
protected $storeManager;
protected $scopeConfig;
public function __construct(
\Magento\Framework\App\Action\Context $context,
\Magento\Framework\Controller\Result\JsonFactory $resultJsonFactory,
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
) {
$this->resultJsonFactory = $resultJsonFactory;
$this->storeManager = $storeManager;
$this->scopeConfig = $scopeConfig;
parent::__construct($context);
}
/**
* Execute view action
*
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$response = [];
try {
$configValue = $this->scopeConfig->getValue(
'your/path/config',
\Magento\Store\Model\ScopeInterface::SCOPE_STORE
);
$response = [
'success' => true,
'value' => __($configValue)
];
} catch (\Exception $e) {
$response = [
'success' => false,
'value' => __($e->getMessage())
];
$this->messageManager->addError($e->getMessage());
}
$resultJson = $this->resultJsonFactory->create();
return $resultJson->setData($response);
}
}
Показать значение конфигурации с помощью файла .html, как показано ниже код.
<div class="config-data-show" data-bind="html: getconfigValue"></div>
Возьмите ссылку ниже 2 ссылок
- Как получить значение конфигурации системы для шаблона нокаута
- Как добавить изображение или значок доставки перед отправкой methode
Используя приведенные выше 2 ссылки, вы определенно получите результат.
Надеюсь, это поможет!