Der eine und andere möchte vielleicht, dass bei der Registrierung von Neukunden neben der Umsatzsteuer ID auch der Firmenname angegeben wird, was eigentlich nahe liegend ist.
Magento selber gibt hier standardmäßig keine Möglichkeit “Firma anzeigen” bei der Registrierung mit Ja oder Nein zu hinterlegen, wie es z.B. für Steuernummer möglich ist.
Um das Feld nun aber doch in der Benutzerregistrierung anzeigen zu lassen, öffnet man die Datei register.phtml im Verzeichnis app/design/frontend/[base oder default]/[IhrTemplate]/template/customer/form und sucht dort nach den für die Firmenabfrage zuständigen Zeilen. Bei mir war dies z.B. Zeile 76 bis 79
<div class="input-box"> <label for="company"><?php echo $this->__('Company') ?></label><br /> <input type="text" name="company" id="company" value="<?php echo $this->htmlEscape($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text" /> </div>
Diese Zeilen werden dann an die gewünschte Stelle verschoben. Ich wollte den Firmennamen vor der eMail Adresse haben und habe sie daher in Zeile 49 vor
<div class="input-box"> <label for="email_address"><?php echo $this->__('Email Address') ?> <span class="required">*</span></label><br /> <input type="text" name="email" id="email_address" value="<?php echo $this->htmlEscape($this->getFormData()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" /> </div>
geschoben. Abspeichern, evtl. Cache löschen und dann gibt es den Firmennamen auch in der Registrierung.
Möchte man nun, dass das Feld Firmenname ein Pflichtfeld ist, kann man die dazu notwendigen Stellen von der eMail kopieren. Anschließend sieht es dann so aus
<div class="input-box"> <label for="company"><?php echo $this->__('Company') ?> <span class="required">*</span></label><br /> <input type="text" name="company" id="company" value="<?php echo $this->htmlEscape($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text required-entry" /> </div>
Nachtrag vom 21.10.2106
Ich habe gerade nochmal versucht dies für Magento 1.9 zu adaptieren. Das Feld bei der Registrierung anzeigen zu lassen ist soweit kein Problem. Die Datei register.phtml aus dem Verzeichnis app/design/frontend/base/default/template/persistent/customer/form wird in das eigene Template kopiert (wichtig Ordner “persistent” NICHT “customer”!) und dort an die gewünschte Stelle dies eingefügt
<li> <label for="company"><?php echo $this->__('Company') ?></label> <div class="input-box"> <input type="text" name="company" id="company" value="<?php echo $this->escapeHtml($this->getFormData()->getCompany()) ?>" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Company')) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" /> </div> </li>
Anschließend wird das Feld in der Registrierung angezeigt und kann auch verwendet werden. Das Problem ist nun aber, dass es im Backend im Kundenkonto nicht angezeigt wird. Da in diesem Shopprojekt sowieso die Extension “Customer Attributes” von Amasty installiert war, habe ich mich dann auch nicht länger damit aufgehalten und die Extension verwendet. Vielleicht findet ja jemand eine Lösung, um das Feld auch im Kundenkonto anzeigen zu lassen.
Genutzt in Magento Version 1.4.1.1 Kommentare? Ergänzungen? Hinweise? Gerne!
Klappt hervorragend und ist essentiell in meinem Bereich: B2B !!!
Viele Dank
In meinem Fall – Magento 1.8.1.0 – funktioniert der Tipp leider nicht. Woran könnte dies liegen?
Hi Björn….bei 1.9 funtkioniert es ebenfalls nicht
Bei neueren Versionen scheint der Pfad anders zu sein, nämlich:
/frontend/default/[THEME]/template/persistent/customer/form/register.phtml
Dann jedenfalls klappt es bei mir :)!