Od czasu aktualizacji do najnowszej wersji Magento zauważyłem, że na stronie kasy pojawił się nowy wpis z prośbą o drugie imię / inicjał klienta.
Jak usunąć wpis „Drugie imię / inicjał” ze strony kasy?
Miałem ten sam problem podczas aktualizacji do Magento CE 1.9.2.1 z Magento CE 1.9.2.0 . Aktualizacja spowodowała wyświetlenie Drugiego imienia, ale kiedy sprawdziłem administratora, System > Configuration > Customers > Customer Configuration > Name and Address Options
ustawienie „Pokaż drugie imię (początkowe)” wyświetlało już „Nie” - tego właśnie chciałem. Zmieniłem ustawienie na „Tak”, a następnie z powrotem na „Nie”, zanim kliknąłem „Zapisz konfigurację”, a to natychmiast usunęło drugie imię / inicjał z kasy, kiedy odświeżyłem stronę.
W moim przypadku pracuję nad aktualizacją sklepu z Magento 1.8.x do Magento 1.9.x. W moim środowisku programistycznym zaktualizowałem wersję z 1.9.2.0 do 1.9.2.1. Aby zaktualizować witrynę na żywo, kiedy uruchomimy aktualizację z wersji 1.8.x do 1.9.x, będziemy musieli zaktualizować wiele ustawień administratora, co planujemy wykonać bezpośrednio w bazie danych za pomocą zapytania. W bazie danych możesz zobaczyć, jak Magento zmienia ustawienie Drugiego imienia.
Tabela „core_config_data` obsługuje ustawienie administratora dla„ Pokaż drugie imię (początkowe) z zapisem gdzie `core_config_data`.`path`='customer/address/middlename_show'
.
Ten rekord zawiera ustawienie w polu „wartość” (0 = „Nie”, 1 = „Tak”). To pole nie ulega zmianie, gdy pojawia się drugie imię po aktualizacji do Magento CE 1.9.2.1 . Jeśli zapiszesz zmianę „Pokaż drugie imię (początkowe)” w ustawieniach administratora po tym, jak Magento dokona zmian podczas aktualizacji do 1.9.2.1, zmieni tutaj wartość „core_config_data`.
Aktualizacja do 1.9.2.1 nie zmieniła rekordu w `core_config_data`, a zatem co jest wyświetlane w ustawieniach administratora. Ale aktualizacja zmienia inny zapis innej tabeli.
W moich wielu instancjach deweloperskich Magento, tabela `eav_attribute` ma 2„ drugie imię ”„ kod_atrybutu ”, przy czym„ atrybut_id ”to 6 i 21 . `Customer_eav_attribute` tabela widoczności atrybutu z pola` is_visible`.
`is_visible` = 0
. `is_visible` = 1
.`is_visible`=0
ponownie, a drugie imię i drugie pole zniknęły z kasy.Magento CE 1.9.2.1 Aktualizacja przerzucony ustawienie drugie imię w tabeli `customer_eav_attribute` bez wpływu na to, co jest wyświetlane w admin Magento pod„Pokaż drugie imię (początkowy)”ustawienie. Możesz to naprawić w taki sposób, że ustawienie jest zwykle dostosowywane przez administratora, bez dokonywania daleko idących dostosowań szablonów, przełączając ustawienie „Pokaż drugie imię (początkowe)”.
Jeśli z jakiegoś powodu musisz przenieść to ustawienie administratora do wielu kopii sklepu lub w pakiecie aktualizacji administratora, na przykład podczas uaktualniania sklepu w celu dopasowania do środowiska programistycznego ... Możesz użyć następującej instrukcji SQL dla tego ustawienia ( pod warunkiem, że wiesz, że „drugie imię” w twoim sklepie to „id_atrybutu” 6 i 21. Jest to standard w Magento, ale dla bezpieczeństwa najpierw sprawdź najpierw tabelę „eav_attribute”).
UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);
Odpowiedź techniczna
Opcja konfiguracji systemu ma model zaplecza (
Mage_Adminhtml_Model_System_Config_Backend_Customer_Show_Customer
), którego_afterSave
metoda dokonuje tej samej zmiany w atrybucie EAV klienta (tabela:)customer_eav_attribute
.Wartość opcji konfiguracji systemu i wartość atrybutu EAV
is_visible
niekoniecznie muszą być zsynchronizowane (albo z powodu aktualizacji Magento, albo jeśli opcja konfiguracji została zmieniona programowo lub z innego powodu).Kilkukrotne naciśnięcie przycisku naprawi go, a jeśli jesteś podobny do mnie i używasz skryptów instalacji / aktualizacji do wszystkiego, możesz wykonać następujące czynności:
źródło
$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
Najłatwiejszy sposób:
Magento ver. 1.9.2.1
Show Middle Name (initial)
=No
źródło
Usunięcie
{{depend middlename}}{{var middlename}}
sugerowane przez @sr_magento w odpowiedzi nie powoduje usunięciaShow Middle Name (initial)
pola z samej strony kasy. Usuwa je tylko z obszarów, w których dane adresowe klienta są renderowane / drukowane, np. W obszarze administracyjnym, plikach PDF i szablonach e-mail.Nie ma potrzeby usuwania pola z szablonów wiadomości e-mail. Jest to przesada i musisz ponownie dodać te wpisy do szablonów wiadomości e-mail, na wypadek gdybyś zdecydował się włączyć je
Show Middle Name(initial)
w przyszłości.Zauważyłem też tę usterkę po aktualizacji z Magento CE 1.9.2.0 do Magento CE 1.9.2.1 za pomocą downloadera Magento. Wydaje się, że aktualizacja dostosowuje ustawienie dla
Show Middle Name (initial)
underz „Nie” na „Tak” . Zdarzyło mi się to w kilku sklepach na różnych serwerach.
Aby to cofnąć, po prostu ustaw go ponownie na „Nie” i zapisz konfigurację.
Show Middle Name (initial)
Pola nie będą wyświetlane na stronie transakcji.źródło
Address Templates
sugerowanego sposobu nie zmienia pól wejściowych Strona kasy w interfejsie sklepu. Wpływa tylko na szablony do drukowania adresów. Proszę przeczytać następującą dokumentację . Masz rację co do obszarów klienta w panelu administracyjnym. Przeformułuję tę część mojej odpowiedzi.Jeśli chcesz usunąć bezpośrednio z pliku, to
Otwórz następujący plik
wyszukaj
if ($this->showMiddlename())
komentarz lub usuń tę kompletną instrukcję ifźródło