cancel
Showing results for 
Search instead for 
Did you mean: 

Custom Attribute nel form Registrazione

Custom Attribute nel form Registrazione

Ciao a tutti, avrei la necessità di inserire un nuovo campo nel form registrazione che indichi che modello di prodotto dispone al momento della registrazione. Il campo dev'essere textarea e non deve essere obbligatorio. ho seguito la marea di guide in rete per la creazione di un attributo custom. Al termine dell'upload in un sito di test però non so più cosa fare per installare l'attributo tramite il file install. Tutte le guide dicono di pulire la cache o di navigare che automaticamente magento farà il suo corso, ma non funziona.

Ho provato anche ad utilizzare questo form, che dopo la verifica manuale ho potuto constatare che crea tutto correttamente:

 

http://www.silksoftware.com/magento-module-creator/#.VG-SJ_nF9Zo

 

 

Ciao grazie per gli aiuti

 

9 REPLIES 9

Re: Custom Attribute nel form Registrazione

Dovresti farci vedere meglio il codice nello specifico perchè diversamente è difficile darti maggiori informazioni. Tieni comunque conto che su Magento 1 è necessario modificare anche il template per aggiungere il campo aggiuntivo.

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!

Re: Custom Attribute nel form Registrazione

Ho creato i seguenti file:

app\etc\modules\FrdCts_Macchina.xml

<?xml version="1.0"?>
<config>
  <modules>
    <FrdCts_Macchina>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </FrdCts_Macchina>
  </modules>
</config>

app\code\local\FrdCts\Macchina\etc\config.xml

<?xml version="1.0"?>
<config>
  <modules>
    <FrdCts_Macchina>
      <version>0.1.0</version>
    </FrdCts_Macchina>
  </modules>
  <global>
    <helpers>
      <macchina>
        <class>FrdCts_Macchina_Helper</class>
      </macchina>
    </helpers>
	<models>
	  <macchina>
		<class>FrdCts_Macchina_Model</class>
		<resourceModel>macchina_mysql4</resourceModel>
	  </macchina>
	</models>
	<resources>
	  <customerattribute1483368324_setup>
		<setup>
		  <module>FrdCts_Macchina</module>
		  <class>Mage_Customer_Model_Entity_Setup</class>
		</setup>
		<connection>
		  <use>core_setup</use>
		</connection>
	  </customerattribute1483368324_setup>
	  <customerattribute1483368324_write>
		<connection>
		  <use>core_write</use>
		</connection>
	  </customerattribute1483368324_write>
	  <customerattribute1483368324_read>
		<connection>
		  <use>core_read</use>
		</connection>
	  </customerattribute1483368324_read>
	</resources>
  </global>
</config> 

app\code\local\FrdCts\Macchina\Helper\Data.php

<?php
class FrdCts_Macchina_Helper_Data extends Mage_Core_Helper_Abstract
{
}
	 

app\code\local\FrdCts\Macchina\sql\customerattribute1483368324_setup\mysql4-install-0.1.0.php

<?php
$installer = $this;
$installer->startSetup();


$installer->addAttribute("customer", "macchina",  array(
    "type"     => "varchar",
    "backend"  => "",
    "label"    => "Tipo Macchina",
    "input"    => "text",
    "source"   => "",
    "visible"  => true,
    "required" => false,
    "default" => "",
    "frontend" => "",
    "unique"     => false,
    "note"       => ""

	));

        $attribute   = Mage::getSingleton("eav/config")->getAttribute("customer", "macchina");

        
$used_in_forms=array();

$used_in_forms[]="adminhtml_customer";
$used_in_forms[]="checkout_register";
$used_in_forms[]="customer_account_create";
$used_in_forms[]="customer_account_edit";
$used_in_forms[]="adminhtml_checkout";
        $attribute->setData("used_in_forms", $used_in_forms)
		->setData("is_used_for_customer_segment", true)
		->setData("is_system", 0)
		->setData("is_user_defined", 1)
		->setData("is_visible", 1)
		->setData("sort_order", 100)
		;
        $attribute->save();
	
	
	
$installer->endSetup();
	 

Poi ho creato un campo input nel file di registrazione con nome macchina esattamente come il nuovo campo e per far in modo che venisse trovato, ma niente.

 

Attendo vostre info a riguardo

 

Ciao

Re: Custom Attribute nel form Registrazione

Ho fatto un test e funziona.

 

Il campo almeno compare nel backend se provi ad aggiungere un cliente da lì?

Che codice hai usato per il campo nella registrazione?

 

 

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!

Re: Custom Attribute nel form Registrazione

Il problema è nel salvataggio, perchè tutto viene creato sia nel backend che nel frontend ma quando effettuo il salvataggio dell'utente da frontend non viene memorizzato il campo. Da backend funziona tutto, il campo c'è e se salvo da li funziona.

Re: Custom Attribute nel form Registrazione

Puoi postare il codice del form frontend?

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!

Re: Custom Attribute nel form Registrazione

<li class="fields">
                    <div class="field">
                        <label for="macchina">Macchina</label><br />
                            <input type="text" name="macchina" id="macchina" value="" title="" class="required-entry input-text" ></textarea>
                    </div>
                </li>

Ma forse perchè uso OnePageCheckout? Il test lo stavo facendo sul form di registrazione in fase di checkout che è quello più utilizzato, ed utilizza OPC.

Re: Custom Attribute nel form Registrazione

ti consiglio di testarlo prima nella registrazione classica.

 

In alternativa testalo sul onepage classico però ti consiglio di provare sia senza che con i prefissi (anche se si tratta di un campo customer).

 

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!

Re: Custom Attribute nel form Registrazione

Funziona utilizzando il form classico!

Il problema al momento sta nel file Edit che non viene caricato il dato della macchina, ma se provo a modificare funziona correttamente. E nella OPC.

Re: Custom Attribute nel form Registrazione

uhm allora bisogna vedere in modo specifico quel OPC

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!