-
- angelobiz

-
Total Posts: 52
Joined: 2010-09-09
|
un passo avanti:
sono riuscito a creare l’attributo
e ora nel edit account riesco a registrare e a visualizzare correttamente il nuovo campo...sia nel billing, shipping o nuovo indirizzo e a visualizzarli nel edit nel backend (ancora non a settarli perche devo ancora trovare i file...)
pero’.....
nel billing e shipping del chekout nulla da fare.... non li registra se si crea uno nuovo, ne fa visualizzare quelli gia registrati, ne si vedono nel “blocco indirizzo”.... sicuramente devono essere attivati da qualche parte… ma non capisco dove…
comunque ho fatto cosi’:
creato un modulo:
in app/code/local/nome/modulo/etc creo il file config.xml:
<config> <modules> <nome_modulo> <version>0.1.0</version> </nome_modulo> </modules> <admin> <fieldsets> <customer_dataflow> <cod_fisc> <billing>1</billing> <shipping>1</shipping> </cod_fisc> </customer_dataflow> </fieldsets> </admin> <global> <fieldsets> <customer_account> <cod_fisc> <create>1</create> <update>1</update> </cod_fisc> </customer_account> <customer_address> <cod_fisc> <to_quote_address>*</to_quote_address> </cod_fisc> </customer_address> <sales_convert_order_address> <cod_fisc> <to_quote_address>*</to_quote_address> </cod_fisc> </sales_convert_order_address> <sales_convert_quote_address> <cod_tax> <to_order_address>*</to_order_address> <to_customer_address>*</to_customer_address> </cod_tax> </sales_convert_quote_address> <sales_copy_order_billing_address> <cod_tax> <to_order>*</to_order> </cod_tax> </sales_copy_order_billing_address> </fieldsets>
il file e’ una copia d quello originale in app/code/core/Mage/Customer/etc/config.xml a cui ho aggiunto il valore cod_fisc
poi ho creato il modulo in app/etc/module/nomemodulo.xml
<!--?xml version="1.0"?--> <config> <modules> <nome_modulo> <active>true</active> <codePool>local</codePool> </nome_modulo> </modules> </config>
qua il primi dubbio della guida che ho seguito e adattato…
la guida dice di creare il file app/code/local/Glocal/Customer/Model/Entity/Setup.php copiando parte del codice da
app/code/core/Mage/Customer/Model/Entity/Setup.php
poiche nella versione 1.7 qualcosa e’ cambiato copio dal file app/code/core/Mage/Customer/Model/Resource/Setup.php.
ora il dubbio e’… creo nel modulo la cartella entity o resource? al momento ho resource…
public function getDefaultEntities() { $entities = array( 'customer' => array( 'entity_model' => 'customer/customer', 'attribute_model' => 'customer/attribute', 'table' => 'customer/entity', 'increment_model' => 'eav/entity_increment_numeric', 'additional_attribute_table' => 'customer/eav_attribute', 'entity_attribute_collection' => 'customer/attribute_collection', 'attributes' => array( 'cod_fisc' => array( 'label' => 'cod_fisc', 'visible' => true, 'required'=> false, ), ), ) ),
'customer_address' => array( 'entity_model' => 'customer/address', 'attribute_model' => 'customer/attribute', 'table' => 'customer/address_entity', 'additional_attribute_table' => 'customer/eav_attribute', 'entity_attribute_collection' => 'customer/address_attribute_collection', 'attributes' => array( 'cod_fisc' => array( 'label' => 'cod_fisc', 'visible' => true, 'required'=> false, ), ) ) ); return $entities; } }
.
poi copio tutto nella mia directory app della mia installazione locale
e per creare l’attributo nel database uso il file register.phtml aggiungendo all’inizio il
$setup = new Mage_Eav_Model_Entity_Setup('core_setup'); $setup->addAttribute('customer_address', 'cod_fisc', array( 'label' => 'cod_fisc', 'type' => 'varchar', 'input' => 'text', 'visible' => true, 'required' => false, 'user_defined' => true, 'position' => 1, )); $eavConfig = Mage::getSingleton('eav/config'); $attribute = $eavConfig->getAttribute('customer_address', 'cod_fisc'); $attribute->setData('used_in_forms', array('customer_account_edit', 'customer_account_create', 'customer_address_edit', 'customer_address_create', 'adminhtml_customer')); $attribute->save();
(guida presa e adattata a caso da qui: http://www.glocalmedia.it/2012/01/aggiungere-al-cliente-un-campo-personalizzato-in-magento-1-51-6/ )
poi aggiungo nei soliti file edit billing e shipping:
<li> <label for="cod_fisc"><?php echo $this->__('Codice fiscalenew') ?></label> <div class="input-box"> <input type="text" name="cod_fisc" id="cod_fisc" value="<?php echo $this->htmlEscape($this->getAddress()->getCod_fisc()) ?>" title="<?php echo $this->__('Codice fiscalenew2') ?>" class="input-text" /> </div> </li>
bene… qualche passo avanti e’ stato fatto… voi pero’ non fatte a botte per aiutare.. mettetevi in fila!!!!! .-)
credo che il problema sia che il nuovo valore non venga salvatodentro le tabelle
sales_flat_order_address e sales_flat_quote_address visto che tutti i valori sono salvati qui… ma non il nuovo valore…
qualche suggerimento come crearlo li con i dovuti settaggi?
mo quasi quasi provo a creare manualmente il valore…
alla prossimo update..
Angelo
|