Pflichtfeld Telefon in Magento 1.4.2 ändern

14.02.2011   //   von Tobias Vogt   //   Entwicklung, Magento  //  12 Kommentare

In Magento <= 1.4.1 war es noch großer Aufwand ein Pflichtfeld aus dem Checkout herauszunehmen: Man musste mal eben zwei Models überlagern nur damit die doofe Validierung, die in der Abstract zu finden war, deaktiviert werden konnte. In Magento 1.4.2 ist das einfach geworden.

Hier muss einfach nur in der Datenbank in der Tabelle eav_attributes die Spalte ‘is_required’ auf 0 bzw. 1 gesetzt werden und schon weiß Magento ob das Feld nun benötigt wird oder eben nicht. Für den Fall das ihr kein weiteres Attribute (z.B. auf Produktebene) habt das den Attribute-Code ‘telephone’ besitzt geht das wie folgt:

UPDATE  `eav_attribute`
	SET  `is_required`  =  '0'
	WHERE  `eav_attribute`.`attribute_code`  =  'telephone';

.. und schon ist Telefon kein Pflichtfeld mehr :)

Der Autor

Tobias Vogt arbeitet seit 2008 mit Magento und ist seit 2011 durch Magento zertifizierter Entwickler. Beschäftigt ist er bei der code-x GmbH, einer Agentur für Internet und Marketing aus Paderborn. Er gehört zum Gründer-Team der Webguys und ist seit November 2011 Bachelor of Science (Wirtschaftsinformatik). Sie erreichen Ihn per E-Mail unter tobi@webguys.de.

12 Kommentare

  • Direkt in die Datenbank? Uff ;-)

  • Ich hab im Admin leider keinen Schalter gefunden, kennst du einen?

  • Leider nein :-(

  • Man kann das ganze auch mit dem Pol Attribute Manager deaktivieren ;)

  • danke für den Tipp. Wie könnte man das in einer Multistore-Umgebung lösen mit 2 Websites? In einem Shop kein Pflichtfeld, im anderen schon, da Lieferungen über Spedition abgewickelt werden. Gibt es dafür eine Lösung?

  • Hallo,
    danke für die Anleitung!
    ich habe die SQL-Anweisung in phpmyadmin ausgeführt, allerdings ist mein telefon immer noch pflichtfeld. (Magento 1.5.1.0)
    Hat jemand ne Idee?
    Danke

    Viele Grüße

  • das Feld Telefon wird nicht mehr als Pflichtfeld von Magento
    behandelt, jedoch steht im .phtml noch als Pflichfeld. Dies geschieht durch die
    Auszeichnung mit dem class-Zusatz “required”.
    Wenn sie dies entfernen, sollte es nicht mehr als Pflichtfeld
    behandelt werden. Um dies schnell zu testen, reicht es aus Javascript kurzfristig zu
    deaktivieren.

  • Hallo,
    vielen Dank für die Antwort!
    ich habe jetzt lange herumprobiert, habe in der Datei app\design\frontend\base\default\template\checkout\onepage\billing.phtml
    das telephone-feld dem fax-feld angepasst (das ist ja auch kein pflichtfeld)
    Also habe beim label class=”required” und * gelöscht.
    Außerdem habe ich beim textfeld class=”input-text required-entry” in class=”input-text” geändert.

    Die ganz oben beschriebene Änderung der Tabelle in der Datenbank habe ich auch befolgt.
    (Habe Magento 1.5.1.0)
    Bin ich in der falschen .phtml-Datei?
    Weiß jemand noch einen Rat?

    Danke!

  • bei mir funktioniert es. cache neu aufgebaut?

  • Bei neueren Magento Versionen schlägt evt. noch die Validierung des Felds fehl. Mit folgendem Schritten habe ich es gelöst:

    http://reinoud.net/2011/03/magento-removing-mandatory-validation-of-telephone-field/

  • Da ich grade im Shop eines Kunden kurz am Suchen war – Bei Verwendung der NoRegion Extension sind auch folgende Dateien anzupassen:
    app/design/frontend/default/default/noregion/checkout/onepage/billing.phtml
    app/design/frontend/default/default/noregion/checkout/onepage/shipping.phtml
    app/design/frontend/default/default/template/noregion/customer/address/edit.phtml

    Viele Grüße
    Kai

Kommentar schreiben

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.

Magento-Support

Sie benötigen kurzfristig Unterstützung in einem Magento-Projekt oder möchten eine individuelle Extension einsetzen? Sprechen Sie uns an.