2014-09-26 54 views

回答

-1

只要到:

app >> design >> frontend >> {{theme package}} >> {{theme}} >> template >> review >> form.phtml 

,并从要强制字段从哪些字段类别中删除需要进入

+0

如果我这样做,我会在tryink确认时得到以下错误:评论摘要不能为空; 昵称不能为空; 评论不能为空; – Primozb 2014-09-29 10:31:11

+0

'required-entry'类仅用于客户端验证。 – 2015-07-15 10:23:07

1

(我使用Magento2)

两个地码必须改变:

/var/www/magento2/app/code/Magento/Review/Model/Review.php
一旦当你打开这个文件时,节省一些时间并按ctrl + F并键入验证短语。应该把你带到这里......

public function validate() 
    { 
    $errors = []; 

    // if (!\Zend_Validate::is($this->getTitle(), 'NotEmpty')) { 
    //  $errors[] = __('Please enter a review summary.'); 
    // } 

    if (!\Zend_Validate::is($this->getNickname(), 'NotEmpty')) { 
     $errors[] = __('Please enter a nickname.'); 
    } 

    // if (!\Zend_Validate::is($this->getDetail(), 'NotEmpty')) { 
    //  $errors[] = __('Please enter a review.'); 
    // } 

    if (empty($errors)) { 
     return true; 
    } 
    return $errors; 
} 

你可能会注意到3条if语句中的2条被注释掉了。我这样做是为了消除只有总结和审查的要求。我想将昵称保留为必填字段,以免被注释掉。

接下来,你需要从默认的Magento检目录将此文件复制到本地的主题目录...

在/ var/WWW/magento2 /应用/代码/ Magento的/评论/浏览/前端/模板/ form.phtml

确保从Review模块获取form.phtml。其他模块中还有其他几个form.phtml文件。

的地方将文件复制到一个例子:
/var/www/magento2/app/design/frontend/Danny/orange/Magento_Review/templates/form.phtml

一旦复制到这你自己的本地目录,你可以继续进行更改:

<div class="field review-field-nickname required"> 
     <label for="nickname_field" class="label"><span><?php echo $block->escapeHtml(__('Nickname')) ?></span></label> 
     <div class="control"> 
      <input type="text" name="nickname" id="nickname_field" class="input-text" data-validate="{required:true}" data-bind="value: nickname()" /> 
     </div> 
    </div> 
    <div class="field review-field-summary"> 
     <label for="summary_field" class="label"><span><?php echo $block->escapeHtml(__('Summary')) ?></span></label> 
     <div class="control"> 
      <input type="text" name="title" id="summary_field" class="input-text" data-validate="{required:false}" data-bind="value: review().title" /> 
     </div> 
    </div> 
    <div class="field review-field-text"> 
     <label for="review_field" class="label"><span><?php echo $block->escapeHtml(__('Review')) ?></span></label> 
     <div class="control"> 
      <textarea name="detail" id="review_field" cols="5" rows="3" data-validate="{required:false}" data-bind="value: review().detail"></textarea> 
     </div> 
    </div> 

在上面的代码片断,你会发现第一块“昵称”一直保持原样。要求保留在那里。

其他两个盒子已被修改以取消要求。我必须做的唯一更改是删除“required”类并将data-validate =“{required:false}”从true更改为false。

希望这会有所帮助!