2011-10-29 32 views
2

我正在嘗試向magento的產品評論添加其他文本字段。看起來這可能需要住在'review_detail'表中,但除了在db中創建列並將該字段添加到模板文件之外,我不知道如何添加此字段以便將其集成到審查制度。任何人都可以讓我開始正確的方向?向magento評論添加其他文本字段

回答

2

我在評論表單中添加了2個額外的字段,只需前往\ base \ default \ template \ review/form.phtml將兩個字段添加爲其他文本字段。

現在去應用程序\代碼\核心\法師\評論\型號\ Mysql4 \ Review.php

protected function _afterSave(Mage_Core_Model_Abstract $object) 
{ 
$detail = array(
'title' => $object->getTitle(), 
'detail' => $object->getDetail(), 
'nickname' => $object->getNickname(), 
'email' => $object->getEmail(), // New field 1 
'fname' => $object->getFname(), // New field 2 
); 

現在,在數據庫中添加電子郵件,FNAME在review_detail表還去應用程序\代碼\核心\法師\ Adminhtml \塊\評論\編輯\ form.php的也補充:

$fieldset->addField('fname', 'text', array(// New field 2 
'label' => Mage::helper('review')->__('First Name'), 
'required' => true, 
'name' => 'fname' 
)); 

$fieldset->addField('email', 'text', array(// New field 1 
'label' => Mage::helper('review')->__('Email'), 
'required' => true, 
'name' => 'email' 
)); 

之前

$fieldset->addField('nickname', 'text', array(
'label' => Mage::helper('review')->__('Nickname'), 
'required' => true, 
'name' => 'nickname' 
)); 

我希望現在你可以添加前Tra字段在審查的形式。

感謝

+0

永遠不要編輯核心Magento功能。通過構建自己的模塊或通過在本地文件夾中創建相同的文件路徑來覆蓋它們。 –

+0

這樣做後,即使我寫評論,我不能在產品評論中看到它。爲什麼? –

+0

我們必須在app \ code \ core \ Mage \ Review \ Model \ Resource \ Review.php中添加新的字段,而不是app \ code \ core \ Mage \ Review \ Model \ Mysql4 \ Review.php – DRAJI

0

對於「無法投遞的審查」的錯誤,你需要在應用程序\代碼\核心功能_cropReviewData添加這兩個新領域\法師\評論\ \控制器ProductController.php

protected function _cropReviewData(array $reviewData) 
{ 
    $croppedValues = array(); 
    $allowedKeys = array_fill_keys(array('detail', 'title', 'nickname', 'email', 'fname), true); 

    foreach ($reviewData as $key => $value) { 
     if (isset($allowedKeys[$key])) { 
      $croppedValues[$key] = $value; 
     } 
    } 

    return $croppedValues; 
} 

我希望這會有所幫助。