文章彙整

Magento2 新增javascript的windows.checkoutConfig變數

Astral WebBy Astral Web 4 days agoNo Comments
首頁  /  Magento  /  Magento-2  /  Magento2 新增javascript的windows.checkoutConfig變數

在Magento2的結帳頁面是使用knockoutjs渲染製作的功能和特效,而它的購物車、客戶、商品等資料都是藉由\Magento\Checkout\Block\Onepage::getSerializedCheckoutConfig的函數提供,再將它宣告至windows.checkoutConfig裡,讓knockoutjs的model能去取得一些基本必要設定值,但當我們客製化一些新的功能在結帳頁面,想要去新增或定義新的windows.checkoutConfig值該如何做呢?

這邊我們預設各位讀者都已經知道如何製作一個基本的magento2 module來進行範例製作,因此這邊只寫出必要的設定檔案。

設定di.xml設定檔

app/code/AstralWeb/Addconfig/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="add_conifg" xsi:type="object">AstralWeb\Addconfig\Model\TestConfigVar</item>
           </argument>
       </arguments>
   </type>
</config>

建立model檔案

app/code/AstralWeb/Addconfig/Model/TestConfigVar.php

<?php
namespace AstralWeb\Addconfig\Model;

use \Magento\Checkout\Model\ConfigProviderInterface

class TestConfigVar implements ConfigProviderInterface
{
   public function getConfig()
   {
       $newVar['hello'] = 'world';
       return $newVar;
   }
}

最後再執行更新

php bin/magento setup:upgrade

php bin/magento setup:di:compile(production mode時需執行)

php bin/magento setup:static-content:deploy (production mode時需執行)

 

這樣就完成了,您可以在瀏覽器的開發者模式console介面輸入window.checkoutConfig.hello來檢查是否有設定成功,如下圖所示

 

以上就是本篇的分享呦!大家都知道該如何做了嗎?喜歡歐斯瑞的讀者們,記得追蹤我們的FB粉絲團IG,也別忘了訂閱電子報,隨時掌握第一消息喔!若有任何問題,歡迎隨時與我們聯繫

以上內容由Astralweb 歐斯瑞編寫製作

 000

推薦文章

Categories:
  Magento-2MagentoMagento開發

留下回應

你的電子郵件地址不會被公開.

請到您的信箱確認,即可完成訂閱。