Magento – Kundenmeinung / Review kein Pflichtfeld

Bild

Ein Kunde wollte gerne die Bewertung seiner Artikel für den Kunden etwas komfortabler machen und bat uns dass zukünftig die Felder

Zusammenfassung Ihrer Kundenmeinung
und
Kundenmeinung

optional und kein Pflichtfeld mehr sind. Es soll also ausreichen, wenn die Sterne vergeben werden und wer nichts dazu schreiben möchte, soll dies auch nicht mehr müssen.

Um dies zu ermöglichen, wird die form.phtml im Ordner app/design/frontend/[base oder default]/[IhrTemplate]/template/review geöffnet und dort ca. ab Zeile 76 der Code angepasst. Für die Zusammenfassung nehmen wir folgenden Teil:

                        <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->htmlEscape($data->getTitle()) ?>" />
                        </div>

Hieraus entfernen wir alle required Vermerke, so dass schließlich folgender Code verbleibt:

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

Selbiges machen wir für den eigentlichen Kundenmeinungsteil ca. ab Zeile 82, so dass hier noch folgendes übrig bleibt:

                        <label for="review_field" ><?php echo $this->__('Review') ?></label>
                        <div class="input-box">
                            <textarea name="detail" id="review_field" cols="5" rows="3" ><?php echo $this->htmlEscape($data->getDetail()) ?></textarea>
                        </div>

Mit dieser Änderung ist dann das Frontend angepasst. Der Kunde sieht also keine * Pflichtfeld Sternchen mehr. Jedoch möchte Magento immernoch Einträge haben, daher ändern wir auch noch die Review.php im Ordner code/core/Mage/Review/Model wobei wir die Datei am besten in den Ordner code/local/Mage/Review/Model kopieren, um nicht in den Kern direkt zu greifen.

Hier sind die relevanten Stellen ca. ab Zeile 114 zu finden. Für die Zusammenfassung ist dies

        if (!Zend_Validate::is($this->getTitle(), 'NotEmpty')) {
            $errors[] = $helper->__('Review summary can\'t be empty');
        }

und für die Meinung selber

        if (!Zend_Validate::is($this->getDetail(), 'NotEmpty')) {
            $errors[] = $helper->__('Review can\'t be empty');
        }

Diese Bereiche entweder löschen oder auskommentieren.

So sieht dieser Bereich dann so aus

    public function validate()
    {
        $errors = array();

        $helper = Mage::helper('customer');

        /*if (!Zend_Validate::is($this->getTitle(), 'NotEmpty')) {
            $errors[] = $helper->__('Review summary can\'t be empty');
        } */

        if (!Zend_Validate::is($this->getNickname(), 'NotEmpty')) {
            $errors[] = $helper->__('Nickname can\'t be empty');
        }

        /*if (!Zend_Validate::is($this->getDetail(), 'NotEmpty')) {
            $errors[] = $helper->__('Review can\'t be empty');
        } */

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

Nun sind die beiden Felder kein Pflichtfeld mehr. Um dies noch ganz klar zu zeigen, kann man auch noch “(optional)” hinter die Überschriften schreiben.

Dazu nochmal in die form.phtml

und die Zeile

<label for="summary_field" ><?php echo $this->__('Summary of Your Review') ?></label>

in

<label for="summary_field" ><?php echo $this->__('Summary of Your Review (opt.)') ?></label>

ändern.

selbes für “Review” wenige Zeilen darunter. Nun würde jedoch im deutschen Frontend genau dies da stehen, da es noch keine Übersetzung gibt. Daher am besten die eigene translate.csv im eigenen Templateverzeichnis öffnen und die Zeilen

"Summary of Your Review (opt.)","Zusammenfassung Ihrer Meinung (optional)"
"Review (opt.)","Ihre Meinung (optional)"

einfügen. Dann alles hochladen, evtl. Cache leeren und voilá nun passt es.

Bild

 

Genutzt in Magento Version 1.6.2.0. Kommentare, Anregungen, Fragen? Gerne!

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

2 comments on “Magento – Kundenmeinung / Review kein Pflichtfeld”

    1. This article is only on review summary and review not on the nickname. But I assume you’ve commented out the part for the nickname as well?

Leave a Reply

Your email address will not be published. Required fields are marked *