Frage

Ich habe die Datenbank direkt aktualisiert, um IS_READE auf LastName = 0 zu erstellen.

Entfernte den JS -Validator für Lastname in Core.

Entfernen Sie das erforderliche Feld in Frontend in Widget/name.phtml.

Die Nachricht "Nachname ist erforderlich" jedoch immer noch an 3 Stellen:

During onepage checkout
When creating an order in admin for billing/shipping address
When inputing billing/shipping address for a customer in admin

Könnte mir bitte jemand helfen? Wir machen einen Großhandel und verwenden nur Bestellung und Kabeljau. Daher steckt der Kunde normalerweise nur seinen Auslassnamen im Feld Vorname ein. Nachname ist für sie einfach optional.

War es hilfreich?

Lösung

Um das Feld Nachname für die Kundenbearbeitung im Administrator SQL -Upgrade -Skript zu erstellen

/* @var $this Mage_Customer_Model_Resource_Setup */
$this->updateAttribute('customer_address','lastname','is_required','false');

Andere Tipps

Ich habe selbst eine Antwort auf dieses Problem gesucht und beide Antworten zusammengefasst, da Sie all diese Schritte ausführen müssen - also spiele ich das tote Thema für zukünftige Benutzer unter.

1. Zuerst ist es schön, eine SQL -Abfrage auszuführen (dh in Phpmyadmin):

UPDATE eav_attribute SET is_required = 0 WHERE attribute_code = 'lastname'

2. Beseitigen Sie den Unterricht für die JS -Validierung

class = "fordert" und class = "forders-ein" überall mit dem Feld 'LastName', in dem es Formulare zum Speichern gibt (dh Kunde/Adresse/edit.phtml, persistent/checkout/billing.phtml)

3. Kopieren Sie Ihre Kerndateien aus:

/app/code/core/Mage/customer/Model/Address/Abstract.php
/app/code/core/Mage/customer/Model/Customer.php
/app/code/core/Mage/customer/etc/config.xml

hinein:

/app/code/local/Mage/customer/Model/Address/Abstract.php
/app/code/local/Mage/customer/Model/Customer.php
/app/code/local/Mage/customer/etc/config.xml

Und kommentieren Sie alles, was mit der Zend -Validierung von LastName zu tun hat.

/app/code/local/mage/customer/model/address/abstract.php:

   /* if (!Zend_Validate::is($this->getLastname(), 'NotEmpty')) {
         $this->addError(Mage::helper('customer')->__('Please enter the last name.'));
     }
*/

/app/code/local/mage/customer/model/customer.php

/*        if (!Zend_Validate::is( trim($this->getLastname()) , 'NotEmpty')) {
        $errors[] = Mage::helper('customer')->__('The last name cannot be empty.');
    }
*/

/app/code/local/mage/customer/etc/config.xml

Sie müssen nach:

 <lastname>
                <billing>1</billing>
                <shipping>1</shipping>
                **<required>0</required>** // change from 1 to 0
                <mapped>1</mapped>
 </lastname>

1. Entfernen Sie die Klassen für die JS -Validierung aus Ihren Vorlagen.

customer/widget/name.phtml

Entfernen class="required" vom Etikett in Bezug auf die lastname Feld in Zeile 80

Entfernen <?php echo $this->helper('customer/address') ->getAttributeValidationClass('lastname') ?> von der Eingabe in Bezug auf lastname in Zeile 82

2. Kopieren Sie Ihre Kerndateien aus:

/app/code/core/mage/customer/model/address/abstract.php/code/core/mage/customer/model/customer.php

hinein:

/app/code/local/mage/customer/model/address/abstract.php/code/local/mage/customer/model/customer.php

Und kommentieren Sie alles, was mit der Zend -Validierung von LastName zu tun hat.

/app/code/local/mage/customer/model/address/abstract.php:

    /*
    if (!Zend_Validate::is($this->getLastname(), 'NotEmpty')) {
        $this->addError(Mage::helper('customer')->__('Please enter the last name.'));
    }
*/

/app/code/local/mage/customer/model/customer.php

PHP -Code

   /*
    if (!Zend_Validate::is( trim($this->getLastname()) , 'NotEmpty')) {
        $errors[] = Mage::helper('customer')->__('The last name cannot be empty.');
    }
*/

3. Aktualisieren Sie die Datei config.xml für den Kunden

/app/code/core/mage/customer/etc/config.xml

Kopieren Sie in Datei

/app/code/local/mage/customer/etc/config.xml

Zum last_name Feld, den erforderlichen Wert "1" auf "0" festlegen

4. Letztes Update mithilfe einer Zeilenabfrage in der Datenbank

UPDATE eav_attribute SET is_required = 0 WHERE attribute_code = 'lastname'

Für mich war alles, was ich getan habe, um dies zu lösen, dies:

update eav_attribute set is_required=0 where attribute_code like 'firstname'; update eav_attribute set is_required=0 where attribute_code like 'lastname';

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top