如何在Magento中刪除審查字段(暱稱,您的審覈和審覈摘要)所需的強制性要求。我找到了一個答案,但它僅適用於管理面板: Magento Admin Add/Edit Review -> removing Summary of Review Field required validation 想要在商店視圖中將其刪除,以便客戶只需點擊評分併發送即可。我如何刪除審查字段(暱稱,您的審查和審查摘要)所需的強制性要求
THX
如何在Magento中刪除審查字段(暱稱,您的審覈和審覈摘要)所需的強制性要求。我找到了一個答案,但它僅適用於管理面板: Magento Admin Add/Edit Review -> removing Summary of Review Field required validation 想要在商店視圖中將其刪除,以便客戶只需點擊評分併發送即可。我如何刪除審查字段(暱稱,您的審查和審查摘要)所需的強制性要求
THX
只要到:
app >> design >> frontend >> {{theme package}} >> {{theme}} >> template >> review >> form.phtml
,並從要強制字段從哪些字段類別中刪除需要進入。
(我使用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。
希望這會有所幫助!
如果我這樣做,我會在tryink確認時得到以下錯誤:評論摘要不能爲空; 暱稱不能爲空; 評論不能爲空; – Primozb 2014-09-29 10:31:11
'required-entry'類僅用於客戶端驗證。 – 2015-07-15 10:23:07