2011-10-29 4 views
2

J'essaye d'ajouter un champ de texte supplémentaire à la revue de produit de magento. Il semblerait que cela doive être dans la table 'review_detail', mais au-delà de la création de la colonne dans la base de données et de l'ajout du champ au fichier modèle, je ne sais pas comment ajouter ce champ pour qu'il soit intégré dans le système de révision. Quelqu'un peut-il me lancer dans la bonne direction?Ajouter un champ de texte supplémentaire à la révision magento

Répondre

2

J'ai ajouté 2 champs supplémentaires dans le formulaire de révision, il suffit d'aller dans le frontend \ base \ default \ template \ review/form.phtml ajouter deux champ comme autre champ de texte.

Allez maintenant à l'application \ Code \ core \ Mage \ Revue \ Modèle \ 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 
); 

ajouter courriels, fname dans la table review_detail dans la base de données vont également à l'application \ Code \ core \ Mage \ Adminhtml \ Bloquer \ Revue \ Edition \ form.php ajouter aussi:

$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' 
)); 

avant de

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

J'espère que maintenant vous pouvez ajouter ex tra champs dans le formulaire de révision.

Merci

+0

Ne modifiez jamais les fonctions principales de Magento. Remplacez-les à la place en créant votre propre module ou en créant un chemin de fichier identique dans votre dossier local. –

+0

Après cela, même si j'écris une critique, je ne peux pas le voir dans les critiques de produits .. pourquoi? –

+0

nous devons ajouter de nouveaux champs dans l'application \ code \ core \ Mage \ Revue \ Model \ Resource \ Review.php au lieu de l'application \ code \ core \ Mage \ Revue \ Model \ Mysql4 \ Review.php – DRAJI

0

Pour le "Impossible d'afficher la revue" erreur, vous devez ajouter ce 2 nouveaux champs dans la fonction _cropReviewData dans l'application \ Code \ core \ Mage \ \ Review contrôleurs \ 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; 
} 

J'espère que cela aidera.

Questions connexes