文章彙整

Magento 2 內部變數傳遞

By Steffi 4 months agoNo Comments
首頁  /  Magento  /  Magento-2  /  Magento 2 內部變數傳遞

在開發期間,常常會遇到不知道如何在內部傳遞變數的問題,Controller 做完查詢 ( query ),到了 template 還要再查詢一次,為了節省查詢的次數,我們可以利用內建 Registry 幫助我們做內部的變數傳遞。

  • 適用版本:Magento 2.0.0 以上

1.產生物件

這裡因為示範方便,我們使用 objectManagernew Registryinstance,比較好的做法,應該是要放在 __construct() 內,讓程式初始化的時候,就自動幫我們 new 出來,這樣才符合依賴注入 ( Dependency Injection ) 的精神。

Namespace:

Magento\Framework\Registry

範例程式:

<?php


/* @var \Magento\Framework\Registry $coreRegistry */

$coreRegistry = $this->_objectManager->get('Magento\Framework\Registry');

 

2.寫入變數

將查詢完的 $category 物件寫入至 current_category 變數中,除了物件之外,也可以寫入 變數、陣列,使用起來算是非常方便。

範例程式:

$coreRegistry->register('current_category', $category);

 

3.取出變數

這段通常會寫在 block 或是 template ( .phtml )  中,這樣在 block 裡面不用重新做一次資料庫的查詢,直接用從 Controller 傳遞過來的變數。

範例程式:

$coreRegistry->registry('current_category');

以上是這次關於如何在Magento 2利用內建 Registry 幫助我們做內部的變數傳遞的教學,更多電商相關的資訊,歡迎訂閱歐斯瑞電子報,以及追蹤我們的Facebook粉絲專頁喔!

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

 000

推薦文章

Category:
  Magento-2

留下回應

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

取得獨家電子商務祕技

建立更好的策略靈感

跟上全球的網路趨勢

絕佳的電商解決方案

電子商務戰略全指南

每月發送電商戰略指南,只要填寫E-mail即可訂閱!

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