簡體   English   中英

CMS 頁面添加塊 magento

[英]CMS page add block magento

我在 CMS-> 頁面“主頁”文件中。 在內容中我這樣寫:

{{block type="myfolder/newfile" template="myfolder/newfile.phtml"}}

我想在內容文件 newfile.phtml 中呈現。 我做錯了什么?

我的新文件位於:app\design\frontend\default\themeas\template\myfolder\newfile.phtml

你需要給你的塊一個名字。 這就是 Magento 將如何引用該塊。 此外,您的塊類型必須有效才能呈現塊。 對於默認塊嘗試使用 type="core/template"

您的新代碼應如下所示:

{{block type="core/template" name="my.block.name" template="myfolder/newfile.phtml"}}

關於 type 屬性的另一個注意事項,它實際上不是一個目錄/文件結構,而是一個映射到 Magento 自動加載器的 URI。 “Core”與 Mage_Core_Block_Core class(在 app/code/core/Mage/Core 目錄下)相關,然后斜線后的信息與該目錄內的文件夾相關。 所以 type="core/template" 解析為位於 app/code/core/Mage/Core/Block/Template.php 的 class Mage_Core_Block_Core_Template。 type 屬性所做的就是告訴 Magento 您需要在塊中加載哪些方法。

您可以嘗試的其他幾種塊類型是:

對於產品列表: catalog/product_list

對於文本列表(自動呈現出子塊的塊): core/text_list

對於類別塊: catalog/category_view

還有很多,找到新塊的一個好方法是查看與您嘗試執行的操作類似的塊,並找到它在 XML 中的定義位置。

如果你想將變量傳遞給塊,你可以這樣做:

{{block type="core/template" name="my.block.name" myvariable="5" template="myfolder/newfile.phtml"}}

自 Magento 1.9.2.2 或等效補丁以來,您還需要授予對新塊的權限。 您在后端執行此操作:System | 權限 | 積木

即如果你想顯示:

{{block type="catalog/product_bestseller" name="krillo.bestseller" template="catalog/product/bestseller.phtml"}}

添加您的塊名稱“catalog/product_bestseller”並將狀態設置為“允許”

我想提供一個替代方案:

上面的答案工作正常,但我個人偏好不在 CMS 頁面的內容中插入塊,因為客戶在嘗試使用所見即所得編輯文本和內容時可以(並且已經)刪除這一關鍵行。

您可以在 CMS 頁面的Layout > Layout update XML部分添加以下內容:

<reference name="content">
    <block after="-" type="your/block_type" name="block.name" template="your/block/template/file.phtml"/>
    <action method="insert" ifconfig="your/block_type">
        <block>block.name</block>
    </action>
</reference>

這樣,客戶就不太可能編輯此選項卡!

希望這可以幫助其他人解決這個問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM