0

我购买了一个 Magento 主题。该主题包括一个显示时事通讯订阅静态块的主页。

这是 CMS 主页内容中用于显示该块的代码:
<div class="block-socials in-blog">{{block type="newsletter/subscribe" template="newsletter/subscribe.phtml" }}</div>

这是 subscribe.phtml 的内容:

<div class="block block-subscribe social-block">
<div class="social-block-title">
    <span><?php echo $this->__('Newsletter') ?></span>
</div>
<div class="social-block-border">&nbsp;</div>
<div class="social-block-join-content">
    <?php echo $this->__('Sign Up for Our Newsletter:') ?>
    <div class="social-block-join-form">
        <form action="<?php echo $this->getFormActionUrl() ?>" method="post" id="newsletter-validate-detail">
            <p>
                <input type="text" name="email" id="newsletter" title="<?php echo $this->__('Sign up for our newsletter') ?>" class="input-text required-entry validate-email cms-block-join" />
            </p>
            <div class="actions">
                <button type="submit" title="<?php echo $this->__('Subscribe') ?>" class="button cms-block-join"><span><span><?php echo $this->__('Subscribe') ?></span></span></button>
            </div>
        </form>
    </div>
<script type="text/javascript">
//<![CDATA[
    var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail');
//]]>
</script>
</div>

它工作得很好(有验证,将数据发送到数据库)(附图片)。但是我想把它放在一个有点不同的位置。该位置是一个有四个插槽的块,每个插槽都可以容纳一个静态块(附加图像),可以通过下拉菜单在 Magento 后端选择(所有 CMS 静态块都显示在该菜单下)。因此,我创建了要从该下拉菜单中选择的新静态块。但我正在努力将内容放在那里:如果我放置以下内容: {{block type="newsletter/subscribe" template="newsletter/subscribe.phtml" }} 那么它就会像那样显示(无论我是否在它周围添加相应的 div)。

如果我将 subscribe.phtml 中的静态块的内容放入我创建的静态块中,它会出现,但是它不起作用(而不是验证数据,它会搜索特定页面并且 url 栏看起来像这样:baseurl/< ? php %20 echo%20$this->getFormActionUrl()%20?> (无空格))

你能帮我用 subscribe.phtml 模板内容创建一个新的静态块,这样它就可以像原来一样工作。

非常感谢您提前。

第一张图片 第二张图片

4

1 回答 1

0

您可以将所有内容放在一个 phtml 文件中,然后在您创建的静态块中调用该 phtml 文件。下面是在静态块中包含 phtml 文件的代码。

{{block type="core/template" template="page/html/YOUR_FILE_NAME.phtml"}}

现在将此静态块包含在您想要的插槽中。

希望这会有所帮助。

于 2015-02-25T16:21:16.970 回答