Magento结帐评论

时间:2015-04-30 09:22:47

标签: checkout magento-1.9

我还是Magento的初学者,并尝试学习如何创建模块。现在我正在开发一个模块,允许客户在结账时添加评论。

现在我遇到了实施textarea的问题,我在app/design/frontend/base/default/layoutapp/design/frontend/base/default/template下创建了一个名为“practice”的新文件。我在我的模块的config.xml文件中上传了新的布局文件。但是在结账时没有任何textarea,即使上传了正确的模板(我激活了模板路径提示选项以查看每个Block的路径)。

应用/代码/本地/实践/ CheckoutComments的/ etc / config.xml中

<frontend>
    <layout>
        <updates>
            <checkoutcomments>
                <file>practice/checkoutcomments.xml</file>
            </checkoutcomments>
        </updates>
    </layout>
</frontend>

以下是layout.xml文件的代码和我覆盖的phtml.file:

应用/设计/前端/碱/默认/布局/实践/ checkoutcomments.xml

  <?xml version="1.0" encoding="UTF-8"?>
<layout>
    <checkout_onepage_review translate="label">
        <reference name="checkout.onepage.agreements">
            <action method="setTemplate">
                <template>practice/checkoutcomments/onepage/comment-agreements.phtml
                </template>
            </action>
        </reference>
    </checkout_onepage_review>
</layout>

应用/设计/前端/碱/默认/模板/实践/ checkoutcomments / onepage /注释-agreements.phtml

    <?php

/**
 *
 * @see Mage_Checkout_Block_Agreements
 */
?>
<!--  Start of CheckoutComments module code -->

<form action="" id="checkout-agreements" onsubmit="return false;">
    <ol class="checkout-agreements">

        <div>
            <br /> <label for="checkoutcomments"><?php echo Mage::helper('core')->__('Add your Comment for this Order') ?></label>
            <textarea name="checkoutcomments" id="checkoutcomments"
                style="width: 450px; height: 100px;"></textarea>
        </div>



        <!-- End of CheckoutComment module -->
<?php if ($this->getAgreements()) : ?>


<?php foreach ($this->getAgreements() as $_a): ?>
    <li>
            <div class="agreement-content"
                <?php echo ($_a->getContentHeight() ? ' style="height:' . $_a->getContentHeight() . '"' : '')?>>
            <?php if ($_a->getIsHtml()):?>
                <?php echo $_a->getContent()?>
            <?php else:?>
                <?php echo nl2br($this->escapeHtml($_a->getContent()))?>
            <?php endif; ?>
        </div>
            <p class="agree">
                <input type="checkbox" id="agreement-<?php echo $_a->getId()?>"
                    name="agreement[<?php echo $_a->getId()?>]" value="1"
                    title="<?php echo $this->escapeHtml($_a->getCheckboxText()) ?>"
                    class="checkbox" /><label for="agreement-<?php echo $_a->getId()?>"><?php echo $_a->getIsHtml() ? $_a->getCheckboxText() : $this->escapeHtml($_a->getCheckboxText()) ?></label>
            </p>
        </li>
<?php endforeach ?>

<?php endif; ?>

</ol>

</form>

我停用了我的模块并用上面的自定义pthml.file覆盖了app/design/frontend/base/default/template/checkout/onepage/agreements.phtml的代码,然后出现了textarea!我想我的配置文件出了问题,但我引用了正确的块,因为块已上传,但没有任何textarea。

我希望你能帮助我

此致

1 个答案:

答案 0 :(得分:0)

我偶然解决了这个问题:

应用/设计/前端/碱/默认/布局/实践/ checkoutcomments.xml

我改变了行

        <template>practice/checkoutcomments/onepage/comment-agreements.phtml
        </template>

为:

<template>practice/checkoutcomments/onepage/comment-agreements.phtml</template>

似乎我在日食中选择了一个错误的autoformat,但我想知道,这会产生如此巨大的差异

此致