2016-03-09 117 views
2

我正在嘗試將評論添加到magento中的產品。但是,提交前端產品的評論表單會給我一個「無法發佈評論信息」。Magento無法發佈評論

我還沒有找到一個解決問題的辦法,這就是爲什麼在你的幫助:)

此IM通話是從我的形式審查代碼:

<div class="form-add"> 
<h2><?php echo $this->__('Write Your Own Review') ?></h2> 
<?php if ($this->getAllowWriteReviewFlag()): ?> 
    <form action="<?php echo $this->getAction() ?>" method="post" id="review-form"> 
     <?php echo $this->getBlockHtml('formkey'); ?> 
     <?php echo $this->getChildHtml('form_fields_before') ?> 
     <h3><?php echo $this->__("You're reviewing:"); ?> 
      <span><?php echo $this->escapeHtml($this->getProductInfo()->getName()) ?></span> 
     </h3> 

     <div class="fieldset"> 
      <?php if ($this->getRatings() && $this->getRatings()->getSize()): ?> 
       <h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4> 
       <span id="input-message-box"></span> 
       <table class="data-table review-summary-table ratings" id="product-review-table"> 
        <col width="1"/> 
        <col/> 
        <col/> 
        <col/> 
        <col/> 
        <col/> 
        <thead> 
        <tr> 
         <th>&nbsp;</th> 
         <th> 
          <div class="rating-box"> 
           <span class="rating-number">1</span> 
           <span class="rating nobr" 
             style="width:20%;"><?php echo $this->__('1 star') ?></span> 
          </div> 
         </th> 
         <th> 
          <div class="rating-box"> 
           <span class="rating-number">2</span> 
           <span class="rating nobr" 
             style="width:40%;"><?php echo $this->__('2 star') ?></span> 
          </div> 
         </th> 
         <th> 
          <div class="rating-box"> 
           <span class="rating-number">3</span> 
           <span class="rating nobr" 
             style="width:60%;"><?php echo $this->__('3 star') ?></span> 
          </div> 
         </th> 
         <th> 
          <div class="rating-box"> 
           <span class="rating-number">4</span> 
           <span class="rating nobr" 
             style="width:80%;"><?php echo $this->__('4 star') ?></span> 
          </div> 
         </th> 
         <th> 
          <div class="rating-box"> 
           <span class="rating-number">5</span> 
           <span class="rating nobr" 
             style="width:100%;"><?php echo $this->__('5 star') ?></span> 
          </div> 
         </th> 
        </tr> 
        </thead> 
        <tbody> 
        <?php foreach ($this->getRatings() as $_rating): ?> 
         <tr> 
          <th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th> 
          <?php foreach ($_rating->getOptions() as $_option): ?> 
           <td class="value"><label 
             for="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>"><input 
              type="radio" name="ratings[<?php echo $_rating->getId() ?>]" 
              id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" 
              value="<?php echo $_option->getId() ?>" class="radio"/></label></td> 
          <?php endforeach; ?> 
         </tr> 
        <?php endforeach; ?> 
        </tbody> 
       </table> 
       <input type="hidden" name="validate_rating" class="validate-rating" value=""/> 
       <script type="text/javascript">decorateTable('product-review-table')</script> 
      <?php endif; ?> 

      <ul class="form-list"> 
       <li> 
        <label for="review_field" 
          class="required"><em>*</em><?php echo $this->__('Let us know your thoughts') ?></label> 
        <div class="input-box"> 
         <textarea name="detail" id="review_field" cols="5" rows="3" 
            class="required-entry"><?php echo $this->escapeHtml($data->getDetail()) ?></textarea> 
        </div> 
       </li> 

       <li class="inline-label"> 
        <label for="summary_field" 
          class="required"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label> 
        <div class="input-box"> 
         <input type="text" name="title" id="summary_field" class="input-text required-entry" 
           value="<?php echo $this->escapeHtml($data->getTitle()) ?>"/> 
        </div> 
       </li> 

       <li class="inline-label"> 
        <label for="nickname_field" 
          class="required"><em>*</em><?php echo $this->__("What's your nickname?") ?></label> 
        <div class="input-box"> 
         <input type="text" name="nickname" id="nickname_field" class="input-text required-entry" 
           value="<?php echo $this->escapeHtml($data->getNickname()) ?>"/> 
        </div> 
       </li> 

      </ul> 
     </div> 
     <div class="buttons-set"> 
      <button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button"> 
       <span><span><?php echo $this->__('Submit Review') ?></span></span></button> 
     </div> 
    </form> 
    <script type="text/javascript"> 
     //<![CDATA[ 
     var dataForm = new VarienForm('review-form'); 
     Validation.addAllThese(
      [ 
       ['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function (v) { 
        var trs = $('product-review-table').select('tr'); 
        var inputs; 
        var error = 1; 

        for (var j = 0; j < trs.length; j++) { 
         var tr = trs[j]; 
         if (j > 0) { 
          inputs = tr.select('input'); 

          for (i in inputs) { 
           if (inputs[i].checked == true) { 
            error = 0; 
           } 
          } 

          if (error == 1) { 
           return false; 
          } else { 
           error = 1; 
          } 
         } 
        } 
        return true; 
       }] 
      ] 
     ); 
     //]]> 
    </script> 
<?php else: ?> 
    <p class="review-nologged" id="review-form"> 
     <?php echo $this->__('Only registered users can write reviews. Please, <a href="%s">log in</a> or <a href="%s">register</a>', $this->getLoginLink(), Mage::helper('customer')->getRegisterUrl()) ?> 
    </p> 
<?php endif ?> 

看起來像標準的rwd主題佈局。如果我刪除我的自定義一個,所以rwd默認彈出它仍然無法正常工作。

我是從發佈的URL是如下:

https://www.example.com/review/product/post/id/73/ 

希望有人能幫助我在正確的方向。這讓我瘋狂!!!

+0

您是否啓用了日誌和開發者模式以查看引發了哪些錯誤?在magento管理員評論啓用?你能看到他們在管理和審查嗎? – Andrei

+0

我將在測試環境中啓用日誌和開發人員模式。我可以在管理員表單中接受和添加評論。希望日誌會告訴更多東西。謝謝! –

+0

@Andrei,我啓用了日誌,system.log沒有顯示與評論​​或任何控制器相關的任何內容。 –

回答

0

我自己解決了這個問題。

它與評論本身無關。我的第一個想法是阻止對評論的訪問的模塊,並且在de控制器中搜索評論後,我們發現問題是模塊不能在數據庫中存儲特定長度的字符。這與評論帖子有些衝突。

聯繫該模塊的開發人員後,我們能夠解決問題。該模塊是MailPlus,我們解決了它的模塊配置,併爲主網站編輯了以下內容: enter image description here

更改後此評論表單再次開始工作。

謝謝大家的幫助!