【问题标题】:Not able to post magento reviews, request looks right无法发布 magento 评论,请求看起来正确
【发布时间】:2014-03-14 16:52:39
【问题描述】:

我们正在使用 magento 1.8.1 并在 iis/mysql 环境中本地托管它并在 ubuntu lamp 环境中进行测试,因此我们可以验证它不是 iis 问题。它发生在两种环境中。

我开始集成产品列表页面,我们希望在其中显示产品评论和产品评论字体,这样用户就可以在不点击链接的情况下给出他们的评论以转到不同的页面添加它。我设法加载了产品评论块。起初,添加到产品按钮的表单元素与产品评论表单混在一起,我通过在开始评论表单之前关闭前一个表单来解决这个问题。我可以在 Fiddler 中看到请求通过,表单元素上的操作看起来像这样

http://localhost/index.php/review/product/post/id/2/

虽然这实际上会使浏览器发送请求(如在 fiddler 上看到的,具有正确数量的参数),但评论从未存储在数据库中,因此我无法在管理部分的待处理评论部分看到它.在检查了我商店的 html 源代码和在线演示后,我可以看到官方演示中有一个隐藏的表单字段存储 form_key ,我后来添加了它,但它仍然不起作用。

任何提示在哪里看?

整个评论表单块如下所示:

<form action="http://localhost/index.php/review/product/post/id/2/" method="post" id="review-form">
<fieldset class="">
                    <h3>You're reviewing: <span>Powermonkey extreme 2</span></h3>
                        <ul class="form-list">
                <li>
                    <label for="nickname_field" class="required"><em>*</em>Nickname</label>
                    <div class="input-box">
                        <input type="text" name="nickname" id="nickname_field" class="input-text required-entry" value="">
                    </div>
                </li>
                <li>
                    <label for="summary_field" class="required"><em>*</em>Summary of Your Review</label>
                    <div class="input-box">
                        <input type="text" name="title" id="summary_field" class="input-text required-entry" value="">
                    </div>
                </li>
                <li>
                    <label for="review_field" class="required"><em>*</em>Review</label>
                    <div class="input-box">
                        <textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry"></textarea>
                    </div>
                </li>
            </ul>
        </fieldset>
        <div class="buttons-set">
            <button type="submit" title="Submit Review" class="button"><span><span>Submit Review</span></span></button>
        </div>
</form>

【问题讨论】:

  • 你也可以把这篇文章移到magento.stackexchange.com

标签: forms magento templates post review


【解决方案1】:

我们有同样的问题,我解决了。

Magento 在向数据库提交任何信息时都有一个表单键。要生成表单密钥,请添加以下代码:

<?php echo $this->getBlockHtml('formkey') ?> 

【讨论】:

  • 当我检查 review/form.phtml 表单键已经存在时,我遇到了同样的问题,getBlockHtml('formkey') 是否生成任何我可以从浏览器调试的 html 内容?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
  • 2018-04-22
  • 2013-07-10
  • 1970-01-01
相关资源
最近更新 更多