Ich möchte ein neues Feld in der Kundenregistrierung und im Formular zur Kundenerstellung hinzufügen.
Der Feldname ist die Lizenznummer . Ich habe so viele Links nach meinen Anforderungen durchsucht, aber diese funktionieren in Magento (1.9) nicht. Sogar ich fand die Erweiterung dazu:
http://www.magentocommerce.com/magento-connect/custome-account-profile-13594.html
Wenn ich die obige Erweiterung mit key installiert habe, wird ein Fehler angezeigt. Können Sie mir bitte eine Idee zu meiner Anforderung geben?
magento-1.9
customer-account
forms
senthil
quelle
quelle
Antworten:
Sie müssen eine neue Erweiterung erstellen, um sie sauber zu machen.
Nennen wir die Erweiterung
StackExchange_Customer
.Sie benötigen folgende Dateien:
app/etc/modules/StackExchange_Customer.xml
- die Anmeldedateiapp/code/local/StackExchange/Customer/etc/config.xml
- die Konfigurationsdateiapp/code/local/StackExchange/Customer/sql/stackexchange_customer_setup/install-1.0.0.php
- die Installationsdatei. Fügt das neue Attribut hinzu.app/code/local/StackExchange/Customer/Helper/Data.php
- der Modul-HaupthelferDadurch wird Ihr Attribut für den Kunden hinzugefügt.
Es sollte gut im Backend funktionieren.
Leider müssen Sie die Frontend-Vorlagen jetzt manuell bearbeiten, da Magento kein Ereignis oder keinen leeren Block hat, in den Sie Ihre Felder einfügen können.
Dafür benötigen Sie Folgendes.
app/design/frontend/base/default/layout/stackexchange_customer.xml
Und jetzt die Vorlagen.
app/design/frontend/base/default/template/stackexchange_customer/register.phtml
- die Registrierungsvorlage.Machen Sie dazu einen Klon von
/app/design/frontend/{package}/{theme}/template/persistent/customer/form/register.phtml
und fügen Sie diesen einfach irgendwo in das Formular ein. Ich muss hier nicht die vollständige Datei posten. Ordnen Sie es wie Sie möchten/app/design/frontend/base/default/template/stackexchange_customer/form/edit.phtml
Für diesen einen Klon/app/design/frontend/{package}/{theme}/template/customer/form/edit.phtml
und fügen Sie irgendwo in das Formular Folgendes ein:Sie können auch die Übersetzungsdatei erstellen. Ist nicht verpflichtend, aber schön zu haben
app/locale/en_US/StackExchange_Customer.csv
Leeren Sie den Cache und Sie sollten eingestellt sein.
quelle
app/code/local/StackExchange/Customer/sql/stackexchange_customer_setup/install-1.0.0.php
Datei aktualisiert . Da Sie das Modul bereits installiert haben, wird das neue Installationsskript nicht erneut ausgeführt. Damit es erneut ausgeführt wird, müssen Sieeav_attribute
das Attribut mit dem Codelicense_number
undcore_resource
den Datensatz mit dem Code aus der Tabelle löschenStackExchange_Customer
. Leeren Sie den Cache und aktualisieren Sie die Seite. Das Installationsskript sollte erneut ausgeführt werden.install-1.0.0
zuupgrade-1.0.0-1.0.1
und Ihre Änderungen in der geklonten Datei zu tun. Ändern Sie dann denversion
Tag inconfig.xml
zu1.0.1
. Sehen Sie hier, wie Upgrade-Skripte funktionieren: magento.stackexchange.com/q/26313/146Vielen Dank, Marius, nur eine Sache, das Feld nicht in der Kasse Rechnungsinformationen für die Registrierung angezeigt.
Wie kann ich das Feld in der Checkout-Registrierung anzeigen lassen?
Vielen Dank
quelle