Domanda

database di

??Ho aggiornato direttamente per fare is_required sul cognome = 0.

Rimosso il validatore js per cognome nel nocciolo.

campo obbligatorio Rimosso in frontend nel widget di / name.phtml.

"campo Cognome è richiesto" Tuttavia, il messaggio ancora popup in 3 posti:

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

Potrebbe qualcuno aiutarmi per favore? Stiamo facendo all'ingrosso e utilizzare solo ordine di acquisto e COD. Così, i clienti di solito mette solo in loro nome sbocco nel campo Nome. Cognome è solo facoltativa per loro.

È stato utile?

Soluzione

Per rendere campo Cognome nessuna richiesta per la modifica del cliente in admin creare script di aggiornamento sql

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

Altri suggerimenti

ero alla ricerca di una risposta a questo problema me stesso e ho fuse entrambe le risposte, come si deve fare tutti questi passaggi - così sto undigging argomento morto per futuri utenti.

1. In primo luogo è bello per eseguire una query SQL (vale a dire in phpMyAdmin):

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

2. Sbarazzarsi di classi per la validazione JS

class = "necessaria" e class = "richiesta-entry" ovunque collegati al campo 'cognome' dove ci sono forme per salvare (cioè cliente / indirizzo / edit.phtml, persistente / cassa / billing.phtml)

3. Copiare i file core da:

/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

in:

/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

e commentare fuori tutto ciò che riguarda la convalida Zend del cognome.

/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

si deve cercare di:

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

1. Rimuovere le classi per la convalida JS dai tuoi modelli.

customer/widget/name.phtml

Rimuovere class="required" dall'etichetta relativo al campo lastname alla riga 80

Rimuovere <?php echo $this->helper('customer/address') ->getAttributeValidationClass('lastname') ?> dall'ingresso relativa ad lastname alla riga 82

2. Copiare i file core da:

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

in:

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

e commentare fuori tutto ciò che riguarda la convalida Zend del cognome.

/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

codice php

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

3. Aggiornare il file config.xml per il cliente

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

Copia su file

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

Per il campo last_name, impostare il valore richiesto "1" a "0"

4. Finalmente aggiornamento utilizzando query di fila nel database

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

Per me, tutto quello che ho fatto per risolvere questo era questo:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top