Müşterilerin ikinci adlarını / adlarını ödeme sayfasından nasıl kaldırabilirim?


19

Magento'nun en son sürümüne geçtikten sonra, ödeme sayfasında müşterilerin ikinci adını / baş harfini soran yeni bir girişin göründüğünü fark ettim.

"İkinci ad / adi" girişini ödeme sayfasından nasıl kaldırabilirim?

Yanıtlar:


46

Magento 1.9.2.1 güncellemesi İkinci Adı nasıl etkiler?

İlk olarak, çözüm

Güncelleme ne zaman aynı sorunu vardı Magento CE 1.9.2.1 den Magento CE 1.9.2.0 . Güncelleme İkinci Adın görüntülenmesine neden oldu, ancak yöneticiye baktığımda System > Configuration > Customers > Customer Configuration > Name and Address Options" İkinci Adı Göster (başlangıç)" ayarında zaten "Hayır" görüntüleniyordu - istediğim buydu. Ayarı "Evet" olarak değiştirdim ve "Yapılandırmayı Kaydet" i tıklamadan önce tekrar "Hayır" olarak değiştirdim.

Veritabanı

Benim durumumda, bir mağazayı Magento 1.8.x'ten Magento 1.9.x'e güncellemek için çalışıyorum. Geliştirme ortamımda 1.9.2.0'dan 1.9.2.1'e güncelledim. 1.8.x'den 1.9.x'e yükseltmeyi başlattığımızda canlı siteyi güncel hale getirmek için, doğrudan veritabanında bir sorgu ile yapmayı planladığımız birçok yönetici ayarını güncellememiz gerekecek. Veritabanında, Magento'nun İkinci Ad ayarını nasıl değiştirdiğini görebilirsiniz.

Görüntülenen Yönetici ayarı yanıltıcı olabilir

`Core_config_data` tablosu," İkinci Adı Göster (başlangıç) için yönetici ayarını burada kayıtla işler `core_config_data`.`path`='customer/address/middlename_show'.

Bu kayıt `değer` alanındaki ayarı tutar (0 =" Hayır ", 1 =" Evet "). Magento CE 1.9.2.1'e yükseltilerek ikinci ad göründüğünde bu alan değiştirilmez . Magento güncelleme sırasında 1.9.2.1 olarak değişiklik yaptıktan sonra yönetici ayarlarında "İkinci Adı Göster (başlangıç)" 'a bir değişiklik kaydederseniz, burada `core_config_data` değerini değiştirecektir.

1.9.2.1'e yapılan güncelleme `core_config_data` üzerindeki kaydı ve dolayısıyla yönetici ayarlarında görüntülenen kaydı değiştirmedi. Ancak, güncelleştirme farklı bir tablonun farklı bir kaydını değiştirir.

Gerçek ikinci ad görünürlüğü "customer_eav_attribute"

Magento'nun birçok geliştirici örneğimde, `eav_attribute` tablosunda 2" orta ad "` attribute_code` (lar) vardır, `attribute_id` (ler) 6 ve 21'dir . `Customer_eav_attribute` tablo bir saha` is_visible` ile öznitelik görünmez yapar.

  • Canlı 1.8.x ortamımda, 6 ve 21 `` öznitelik_kileri '' vardı `is_visible` = 0.
  • İçin dev güncelledikten sonra Magento CE 1.9.2.1 den Magento CE 1.9.2.0 , bu oldu `is_visible` = 1.
  • Yönetici "İkinci Adı Göster (ilk)" öğesini "Hayır" olarak değiştirdikten ve tekrar kaydettikten sonra, İkinci `is_visible`=0Ad / Başlangıç ​​alanı Checkout'tan kayboldu.

özet

Magento CE 1.9.2.1 güncellemesi göster "İkinci Ad (Başlangıç)" ayarı altında Magento yönetici görüntülenen ne etkilemeden `customer_eav_attribute` tablosundaki Göbek Adı ayarını çevirdi. "Orta Adı Göster (Başlangıç)" ayarını değiştirerek, geniş kapsamlı şablon ayarlamaları yapmadan ayarın yönetici tarafından normal olarak ayarlandığı şekilde düzeltebilirsiniz.

Kenar notu

Herhangi bir nedenle bu yönetici ayarını bir mağazanın birden çok kopyasıyla veya bir mağaza geliştiricisiyle eşleştirmek için yükseltme yaparken olduğu gibi bir dizi yönetici güncellemesine aktarmanız gerekiyorsa ... Bu ayar için aşağıdaki SQL ifadesini kullanabilirsiniz ( "orta ad" ın mağazanızdaki `attribute_id` 6 ve 21. olduğunu biliyorsanız, bu Magento için standarttır, ancak güvenli olmak için önce" eav_attribute "tablonuzu iki kez kontrol edin.).

UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);


magento 1.9.2.1 üzerinde düzeltme benim için iyi çalışıyor
Fra

5

Teknik cevap

Sistem yapılandırma seçeneği, yöntemi müşteri EAV özniteliğinde aynı değişikliği yapan bir arka uç modeline ( Mage_Adminhtml_Model_System_Config_Backend_Customer_Show_Customer) sahiptir _afterSave(tablo:) customer_eav_attribute.

Sistem yapılandırma seçeneği değeri ve EAV öznitelik is_visibledeğeri mutlaka senkronize olmayabilir (Magento yükseltmesi nedeniyle veya yapılandırma seçeneği programlı olarak değiştirildiyse veya başka bir nedenle).

Anahtarı birkaç kez çevirmek onu düzeltir veya benim gibi ve her şey için yükleme / yükseltme komut dosyaları kullanıyorsanız, aşağıdakileri yapabilirsiniz:

Mage::getModel('core/config')
    ->saveConfig('customer/address/middlename_show', 0);    

try {

    $attribute = Mage::getSingleton('eav/config')
        ->getAttribute('customer', 'middlename')
        ->setIsVisible(0)
        ->save();

    $attribute = Mage::getSingleton('eav/config')
        ->getAttribute('customer_address', 'middlename')
        ->setIsVisible(0)
        ->save();

} catch (Exception $e) {
    Mage::logException($e);
    throw $e;
}

1
Teşekkürler, harika çalışıyor. Müşteri adresi özelliğinin kodunu da eklemelisiniz:$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
Andreas von Studnitz

2

En kolay yol:

Magento ver. 1.9.2.1

System > Configuration > Customers > Customer configuration > Name and Address Options

Show Middle Name (initial) = No

resim açıklamasını buraya girin


Bu zaten ayarlanmıştı.
SR_Magento

Evet -> kaydet'i seçmeniz yeterlidir. tekrar Hayır-> kaydet'i seçin. önbelleği yenile ve bkz.
Pratik Kamani

0

{{depend middlename}}{{var middlename}}@Sr_magento gibi kaldırma , cevabında önerdiği gibi, aslında Show Middle Name (initial)alanın çıkış sayfasından kaldırılmasını önermez . Bunu yalnızca yönetici adresi, PDF'ler ve e-posta şablonları gibi müşteri adres bilgilerinin oluşturulduğu / yazdırıldığı alanlardan kaldırır.

Alanı e-posta şablonlarından kaldırmanıza gerek yoktur. Bu aşırıdır ve Show Middle Name(initial)ileride etkinleştirmeye karar vermeniz durumunda bu girişleri e-posta şablonlarına tekrar eklemeniz gerekir .

Ben gelen güncellemeden sonra da bu aksaklık fark etmiş Magento CE 1.9.2.0 için CE 1.9.2.1 Magento Magento downloader kullanarak. Güncelleme Show Middle Name (initial)altında ayarı değiştiriyor gibi görünüyor

System > Configuration > Customers > Customer Configuration > Name and Address Options

dan "No" için "Evet" . Farklı sunuculardaki birkaç mağazada başıma geldi.

Bunu geri almak için tekrar "Hayır" olarak ayarlayın ve yapılandırmayı kaydedin. Show Middle Name (initial)Alan artık ödeme sayfasında gösterilecektir.


@sr_magento Yönteminiz işe yarayabilir (neden olduğundan emin olmasam da, yapılandırmayı kaydetmekten şüpheleniyorum) ancak nedeniniz yanlış. Önerdiğiniz Address Templatesgibi değiştirmek, mağazanın ön ucundaki Checkout Page giriş alanlarını değiştirmez. Yalnızca adres yazdırma şablonlarını etkiler. Lütfen aşağıdaki belgeleri okuyun . Yönetici panelindeki müşteri alanları hakkında haklısınız. Cevabımın bu kısmını tekrar yazacağım.
ForMat

0

Doğrudan dosyadan kaldırmak istiyorsanız

Aşağıdaki dosyayı aç

app => tasarım => ön uç => temel => varsayılan => şablon => müşteri => widget => ad.phtml

if ($this->showMiddlename()) yorum aramak veya if ifadesinin tamamını kaldırmak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.