Wie sich das Update auf Magento 1.9.2.1 auf Middle Name auswirkt
Erstens die Lösung
Ich hatte das gleiche Problem beim Update auf Magento CE 1.9.2.1 von Magento CE 1.9.2.0 . Das Update verursachte, dass Middle Name angezeigt wurde, aber als ich den Administrator überprüfte, zeigte die System > Configuration > Customers > Customer Configuration > Name and Address Options
Einstellung "Show Middle Name (initial)" bereits "No" an - was ich wollte. Ich habe die Einstellung in "Ja" und dann wieder in "Nein" geändert, bevor ich auf "Konfiguration speichern" geklickt habe. Dadurch wurde Middle Name / Initial beim Aktualisieren der Seite sofort aus der Kasse entfernt.
Die Datenbank
In meinem Fall arbeite ich daran, einen Store von Magento 1.8.x auf Magento 1.9.x zu aktualisieren. In meiner Entwicklungsumgebung habe ich ein Update von 1.9.2.0 auf 1.9.2.1 durchgeführt. Um die Live-Site auf den neuesten Stand zu bringen, wenn wir das Upgrade von 1.8.x auf 1.9.x starten, müssen wir viele der Administratoreinstellungen aktualisieren, die wir mit einer Abfrage direkt in der Datenbank vornehmen möchten. In der Datenbank können Sie sehen, wie Magento die Middle Name-Einstellung ändert.
Die angezeigte Admin-Einstellung kann irreführend sein
Die Tabelle "core_config_data" behandelt die Administratoreinstellung für "Show Middle Name (initial)" mit dem Datensatz where `core_config_data`.`path`='customer/address/middlename_show'
.
Dieser Datensatz enthält die Einstellung im Feld "Wert" (0 = "Nein", 1 = "Ja"). Dieses Feld wird nicht geändert, wenn der zweite Vorname beim Upgrade auf Magento CE 1.9.2.1 angezeigt wird . Wenn Sie eine Änderung an "Show Middle Name (initial)" in den Admin-Einstellungen speichern, nachdem Magento während des Updates auf 1.9.2.1 Änderungen vorgenommen hat, wird hier der Wert "core_config_data" geändert.
Das Update auf 1.9.2.1 hat den Eintrag in "core_config_data" und damit auch die Anzeige in den Admin-Einstellungen nicht verändert. Das Update ändert jedoch einen anderen Datensatz einer anderen Tabelle.
Die tatsächliche Sichtbarkeit des Zweitnamens befindet sich in "customer_eav_attribute"
In meinen vielen Dev-Instanzen von Magento hat die Tabelle "eav_attribute" 2 "Middle Name" "attribute_code" (s), die "attribute_id" (s) sind 6 und 21 . Die Tabelle "customer_eav_attribute" legt die Sichtbarkeit des Attributs mit einem Feld "is_visible" fest.
- In meiner Live 1.8.x Umgebung hatten `attribute_id` (s) 6 und 21
`is_visible` = 0
.
- Nach dem Update des Entwicklers auf Magento CE 1.9.2.1 von Magento CE 1.9.2.0 wurde es
`is_visible` = 1
.
- Nachdem ich umgeschaltet und den Administrator "Show Middle Name (initial)" auf "No" gespeichert hatte,
`is_visible`=0
verschwand das Feld " Middle Name / Initial" wieder aus Checkout.
Zusammenfassung
Das Update von Magento CE 1.9.2.1 hat die Einstellung " Zweiter Vorname" in der Tabelle "customer_eav_attribute" umgedreht, ohne dass dies Auswirkungen auf die Anzeige im Magento-Administrator unter der Einstellung " Zweiter Vorname (Anfänglich) anzeigen" hat. Sie können die Einstellung so ändern, wie sie normalerweise im Administrator vorgenommen wird, ohne weitreichende Vorlagenanpassungen vornehmen zu müssen, indem Sie die Einstellung "Show Middle Name (Initial)" aktivieren.
Randnotiz
Wenn Sie diese Administratoreinstellung aus irgendeinem Grund auf mehrere Kopien eines Geschäfts oder in einer Reihe von Administratoraktualisierungen übertragen müssen, z. B. während Sie ein Geschäft aktualisieren, um es an eine Entwicklungsumgebung anzupassen, können Sie die folgende SQL-Anweisung für diese Einstellung verwenden ( vorausgesetzt, Sie wissen, dass "zweiter Vorname" in Ihrem Geschäft "attribute_id" 6 und 21 ist. Dies ist in Magento Standard, aber um sicherzugehen, überprüfen Sie zuerst Ihre Tabelle "eav_attribute".).
UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);