0
我正在爲Magento模塊開發一些視圖,我想知道是否有快捷方式可以用來生成HTML標籤,而不是通常的printf/sprintf。例如,某些框架提供了諸如Anchor()
之類的功能,其在給定文本的情況下將其轉換爲完整標籤或TextBox()
,其打印完整的標籤。Magento是否提供在視圖中使用的實用功能?
Magento有什麼相似之處嗎?還是我必須堅持「printf」的方法?在此先感謝您的答案。
我正在爲Magento模塊開發一些視圖,我想知道是否有快捷方式可以用來生成HTML標籤,而不是通常的printf/sprintf。例如,某些框架提供了諸如Anchor()
之類的功能,其在給定文本的情況下將其轉換爲完整標籤或TextBox()
,其打印完整的標籤。Magento是否提供在視圖中使用的實用功能?
Magento有什麼相似之處嗎?還是我必須堅持「printf」的方法?在此先感謝您的答案。
不,Magento的Blocks(這是我想你問的關於視圖)不提供HTML生成方法。你需要在PHP手動生成HTML代碼或使用模板模塊,它允許你寫自己的HTML代碼中phtml
模板文件,然後用穿插調用,代碼
<a href="<?php echo $link; ?>"><?php echo $label; ?></a>
或
<a href="<?=$link;?>"><?= $label; ?></a>
取決於你的角色
謝謝艾倫。至少現在我確定不是我無法找到方法,他們真的不在那裏。當我發現「__()」函數的存在時,我對搜索技能失去了一點信心。我可能會挑剔,但是「雙下劃線」並不是真正直觀的函數名稱...... – Diego 2012-07-27 01:30:39
@Diego __函數從gettext中獲取線索,它是一個17年的翻譯軟件包,它使用類似的單個下劃線) 慣例。 http://en.wikipedia.org/wiki/Gettext – 2012-07-27 07:24:06
感謝您的澄清。我知道選擇這樣的慣例背後肯定有一個原因,但是「雙下劃線」並不是一個直觀的名字(至少對我來說也很難閱讀)。請注意,如果我使用了GetText(我沒有),那麼這並不是對Magento整體的攻擊,我也會這樣說。無論如何,現在我知道了,它會更容易處理。有趣的是,下劃線命名是「如何編寫不可維護的代碼」(http://mindprod.com/jgloss/unmainnaming.html)中列出的「最佳實踐」之一。 (這只是一個笑,沒有個人的)。 :) – Diego 2012-07-27 10:07:28