我想在内容区域的主页上创建一个新闻订阅框,为此我创建了一个CMS页面,我在新闻稿订阅文件中放置的其他代码也可以调用。
我试着这样称呼它:
<?php echo $this->getLayout()->createBlock('newsletter/subscribe')->setTemplate('newsletter/subscribe.phtml')->toHtml(); ?>
但它没有显示出来。
为什么?
答案 0 :(得分:11)
system -> configuration -> advanced
从那里启用时事通讯模块。然后你可以使用上面的代码在任何地方调用它。
<?php echo $this->getLayout()->createBlock('newsletter/subscribe')->setTemplate('newsletter/subscribe.phtml')->toHtml(); ?>
答案 1 :(得分:4)
如果查看 newsletter.xml 布局更新文件,您会发现订阅块的定义如下:
<reference name="left">
<block type="newsletter/subscribe" name="left.newsletter" template="newsletter/subscribe.phtml"/>
</reference>
您可以做的最简单的事情是为您的主页添加类似于布局更新XML的内容。只需在管理员的CMS页面区域中打开主页,单击设计标签,然后将其放在布局更新XML 文本框中:
<reference name="content">
<block type="newsletter/subscribe" name="home.newsletter" template="newsletter/subscribe.phtml"/>
</reference>
您可能需要使用它来让它显示在您想要的位置,但这应该有效。