Magento 2 你不能不知道的實用短代碼
Magento2 提供我們很多網頁佈局和模板,但很多人都沒有意識到,其實這些功能也可以用短代碼透過CMS編輯器來完成,這個動作被稱作「directives」,但如果你跟我一樣擁有wordpress開發者背景的話,那麼這個動作一定會讓你想到短代碼。
1.以block directive 呼叫PHTML模板
你能夠在可以讓你快速建立客製化 layout的靜態區塊,和現有使用PHP、Javascript、HTML的功能裡呼叫模板,請使用下列的短代碼來在區塊內呼叫模板:
{{block class="Magento\Framework\View\Element\Template" name="test" template="path/template.phtml" }}
你也可以增加例如id 號碼的attribute,你可以接著將這些attribute用於你模板中來指涉特定資料。舉例來說,我用它透過banner的ID來從資料庫中叫出這個特定的banner,這可以讓我們以從資料庫取出特定資料的方式快速的把banner加到內容裡。
如果你在這個模板中也需要存取,比方說產品資訊,你可以將這些資訊加到這類別裡,像這樣:
{{block class="Magento\Catalog\Block\Product\View\Description" name="test" template="path/template.phtml" }}
你也可以使用block directive快速的在內容中增加一個現有的靜態區塊:
{{block id=“my-great-block" }}
2.在地化
在模板中,我們可以建立特定的字串並用小括號來翻譯:__(“string);但事實上,只要用下面的directive,你可以在CMS內容和區塊做類似的事:
{{trans “translate me!”}} {{trans "<h2>translate me!</h2>"|raw}} (for including html)
或者,如果你想增加一些可以替換的字串或物件的話,你可以這麼做:
{{trans "Hi %customer" customer=$order.getCustomerName()}}
3.組態
使用元件組態程式碼可以存取先前儲存好的config value,你也可以使用組態directive作為e-mail的模版:
{{config path=“general/store_information/city”}}
4.取得網址
你可以使用store directive 來取得完整的網址,如果你之後可能會改變你的商店域名:
{{store url=“contact-us”}}
你可以使用directive做比你想像的還多的事,如果你真的下定決心的話,你甚至可以拿它做custom directive,不過會需要耗費一些時間和精力,所以總而言之,關於這個主題還有很多可以討論的地方。
以上就是這次關於Magento2 實用短代碼的分享,更多Magento2的教學,別忘了訂閱我們的電子報,以及追蹤我們的Facebook粉絲專頁唷!
更多Magento相關文章請看: Magento教學導覽
延伸閱讀:
magento 2 : 如何將靜態區塊(static block)的內容新增至頁面(cms page) 中
Magento2 – 管理CMS, Block, Wiget
我要留言