10

我是 Magento 的新手。我想在页脚中添加时事通讯选项并在页脚中设置时事通讯功能。

4

3 回答 3

20

我想您谈到了将其放置在模板中的新闻通讯块。一个解决方案是在您的主题中创建一个 local.xml 布局文件。

例如,您的主题位于 /app/design/frontend/default/mytemplate/layout/local.xml

local.xml 的优势在于允许您覆盖自己模板的核心布局结构,而无需复制基本模板的整个 newsletter.xml 布局文件。

也许您需要删除通讯块的先前位置。我在下面给你一个例子。

在这个 local.xml 文件中,您可以执行以下操作:

<?xml version="1.0"?>
<layout version="0.1.0">

<!--
Default layout, loads most of the pages
-->

    <default>
        <remove name="left.newsletter" /> <!-- if you want to remove the newsletter block which is on the left side -->
        <!-- Mage_Newsletter -->
        <reference name="footer">
            <block type="newsletter/subscribe" name="newsletter" as="newsletter" template="newsletter/subscribe.phtml" before="-" />
        </reference>
    </default>
</layout>

然后,在您的 footer.phtml 中,您应该添加以下内容:

<?php echo $this->getChildHtml('newsletter'); ?>
于 2012-12-10T10:10:50.970 回答
17

只需在您的footer.phtml 中添加以下单行。

<?php echo $this->getLayout()->createBlock('newsletter/subscribe')->setTemplate('newsletter/subscribe.phtml')->toHtml(); ?>
于 2014-12-11T05:46:49.620 回答
8

您也可以在后端使用静态块来执行此操作,而无需靠近应用程序代码。我认为最好这样做,以防 Magento 或扩展更新覆盖编辑。

第1步

从商店的管理员/后端转到顶部的“CMS”导航菜单并选择“静态块”。单击“添加新”按钮。在随后的表格中,为“块标题”和“标识符”指定一个唯一的名称,并确保其状态设置为启用。将以下代码放入“内容”文本区域...

{{block type="newsletter/subscribe" name="left.newsletter" template="newsletter/subscribe.phtml"}}

记下您为“标识符”输入的名称,因为您将在下一步中使用它。

单击“保存块”按钮。

第2步

现在转到 CMS 和“页面”或“静态块”,具体取决于您要放置时事通讯的位置。选择“内容”选项卡和文本区域,然后将此代码添加到要显示时事通讯注册表单的任何位置...

{{block type="cms/block" block_id="your_block_identifier"}}

确保将创建静态块时使用的标识符的名称放入block_id

于 2013-10-16T17:30:38.280 回答