我还是Magento的初学者,并尝试学习如何创建模块。现在我正在开发一个模块,允许客户在结账时添加评论。
现在我遇到了实施textarea的问题,我在app/design/frontend/base/default/layout
和app/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。
我希望你能帮助我
此致
答案 0 :(得分:0)
我偶然解决了这个问题:
在 应用/设计/前端/碱/默认/布局/实践/ checkoutcomments.xml 强>
我改变了行
<template>practice/checkoutcomments/onepage/comment-agreements.phtml
</template>
为:
<template>practice/checkoutcomments/onepage/comment-agreements.phtml</template>
似乎我在日食中选择了一个错误的autoformat,但我想知道,这会产生如此巨大的差异
此致