Inhalte auf einen Blick
1. Bearbeiten der Magento Datenbank mit phpmyadmin
Erstellen Sie eine Sicherungskopie der Magento Datenbank (für alle Fälle). Dies kann man entweder gleich über den phpmyadmin erledigen oder aber ganz komfortabel im Magento Backend unter System > Werkzeuge > Sicherungsdateien > Sicherungskopie der Datenbank
.
Führen Sie danach folgenden SQL-Befehl im phpmyadmin aus:
UPDATE eav_attribute
SET is_required = 0
WHERE attribute_code = "telephone"
2. Anpassung der Magento Templates
Wenn Sie das Magento-Standard Template verwenden, kopieren Sie die folgenden Dateien aus dem Ordner
/app/design/base/default/template/
nach
/app/design/default/default/template/
Andernfalls kopieren Sie die Dateien aus dem Ordner
/app/design/base/default/template/
in Ihr Template unter
/app/design/PAKETNAME/THEMENAME/template/
Zu kopierende Ordner und Dateien:
template/checkout/onepage/billing.phtml
template/checkout/onepage/shipping.phtml
template/customer/address/edit.phtml
template/customer/form/register.phtml
Bearbeiten Sie danach die kopierten Dateien und suchen dabei nach telephone
und entfernen in dem <label>-Tag
jeweils das <em>*</em>
und das class="required"
.
Beispiel für die Datei template/checkout/onepage/billing.phtml
:
Original:
...
<div class="field">
<label for="billing:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
<div class="input-box">
<input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone())?>" class="required" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone">
</div>
</div>
...
Angepasst:
...
<div class="field">
<label for="billing:telephone" class="
"><?php echo $this->__('Telephone') ?></label>
<div class="input-box">
<input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" class="" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone">
</div>
</div>
...
3. Anpassung des Magento Core
Kopieren Sie folgende Datei
/app/code/core/Mage/Customer/Model/Address/Abstract.php
nach
/app/code/local/Mage/Customer/Model/Address/Abstract.php
Bearbeiten Sie die kopierte Datei und suchen nach folgendem Inhalt:
if (!Zend_Validate::is($this->getTelephone(), 'NotEmpty')) {
$errors[] = Mage::helper('customer')->__('Please enter the telephone number.');
}
Entfernen Sie diesen Teil und speichern die Datei.
4. Update des Telefon-Attributs
Öffnen Sie folgende Datei (im Magento Root)
/index.php
und fügen ganz am Ende folgende Zeile ein
Mage::getModel('eav/entity_attribute') ->loadByCode('customer_address', 'telephone') ->setIsRequired(false) ->save();
Rufen Sie danach eine beliebige Seite im Shop auf und entfernen die Zeile danach wieder aus der index.php
5. Den Erfolg kontrollieren
Nun sollte die Telefonnummer im Magento Checkout als optionales Feld erscheinen. Kontrollieren Sie nun die Änderung.
Sollten Sie Hilfe bei dieser oder anderen Anpassungen an Ihrem Magento Shop benötigen, so kontaktieren Sie mich gerne über das Kontaktformular.
Hinweis: Führen Sie unbedingt vor den Änderungen ein Backup Ihres Shops durch, ich übernehme keine Haftung für eventuelle Schäden.
Das waren viele Infos und Du hast Fragen und/oder Anregungen?
Lass es mich wissen und schreibe einen Kommentar!