आप एक मॉड्यूल बना सकते हैं जो चेकआउट कॉन्फिग में जोड़कर आपके सेमी ब्लॉक संदेश को केओ टेम्पलेट को उपलब्ध कराएगा।
Your/Module/etc/frontend/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">
<type name="Magento\Checkout\Model\CompositeConfigProvider">
<arguments>
<argument name="configProviders" xsi:type="array">
<item name="cms_block_config_provider" xsi:type="object">Your\Module\Model\ConfigProvider</item>
</argument>
</arguments>
</type>
</config>
में Your/Module/Model/ConfigProvider.phpहम कोड है कि सेमी ब्लॉक के एचटीएमएल को हासिल करेगा है:
<?php
namespace Your\Module\Model;
use Magento\Checkout\Model\ConfigProviderInterface;
use Magento\Framework\View\LayoutInterface;
class ConfigProvider implements ConfigProviderInterface
{
/** @var LayoutInterface */
protected $_layout;
public function __construct(LayoutInterface $layout)
{
$this->_layout = $layout;
}
public function getConfig()
{
$cmsBlockId = 1; // id of cms block to use
return [
'cms_block_message' => $this->_layout->createBlock('Magento\Cms\Block\Block')->setBlockId($cmsBlockId)->toHtml()
];
}
}
अब आपको अपनी थीम में शिपिंग.html कोओ टेम्पलेट को अधिलेखित करना चाहिए जहां आप सेमी ब्लॉक प्रदर्शित कर सकते हैं:
<div data-bind="html: window.checkoutConfig.cms_block_message"></div>
नोट: यदि आप HTML टैग्स का उपयोग करना चाहते हैं जिसमें दोहरे उद्धरण शामिल हैं (उदाहरण के लिए एक html एक टैग) तो स्थिर खंड में आपको बैकस्लैश के साथ दोहरे उद्धरणों से बचना चाहिए। उदाहरण के लिए:
Accept our <a target=\"_blank\" href=\"/privacy-policy\">privacy policy</a>