답변:
에 업데이트 할 때 저도 같은 문제를 가지고 젠토 CE 1.9.2.1 에서 젠토 CE 1.9.2.0 . 업데이트로 중간 이름이 표시되었지만 관리자를 확인했을 때 System > Configuration > Customers > Customer Configuration > Name and Address Options
"중간 이름 표시 (초기)"설정에 이미 "아니요"가 표시되었습니다. "설정 저장"을 클릭하기 전에 설정을 "예"로 변경 한 다음 "아니요"로 다시 변경했습니다. 그러면 페이지를 새로 고칠 때 즉시 Checkout에서 중간 이름 / 초기화가 제거되었습니다.
제 경우에는 Magento 1.8.x에서 Magento 1.9.x로 상점을 업데이트하려고합니다. 개발 환경에서 1.9.2.0에서 1.9.2.1로 업데이트했습니다. 1.8.x에서 1.9.x로 업그레이드를 시작할 때 라이브 사이트를 최신 상태로 유지하려면 쿼리를 사용하여 데이터베이스에서 직접 수행 할 많은 관리자 설정을 업데이트해야합니다. 데이터베이스에서 Magento가 중간 이름 설정을 어떻게 변경하는지 확인할 수 있습니다.
core_config_data 테이블은 "Show Middle Name (초기)"에 대한 관리자 설정을 where 레코드로 처리 `core_config_data`.`path`='customer/address/middlename_show'
합니다.
이 레코드는`value` 필드 (0 = "No", 1 = "Yes")의 설정을 유지합니다. Magento CE 1.9.2.1 로 업그레이드하여 중간 이름이 나타나면이 필드는 변경되지 않습니다 . Magento가 1.9.2.1로 업데이트하는 동안 변경 한 후 관리자 설정에서 "중간 이름 표시 (초기)"에 대한 변경 사항을 저장하면 여기에서`core_config_data '값이 변경됩니다.
1.9.2.1로 업데이트해도`core_config_data`의 레코드가 변경되지 않아 관리자 설정에 표시되는 내용이 변경되었습니다. 그러나 업데이트는 다른 테이블의 다른 레코드를 변경합니다.
Magento의 많은 dev 인스턴스에서 테이블`eav_attribute`는 2 개의 "중간 이름"`attribute_code` (s)를 가지며`attribute_id`는 6 과 21 입니다. `customer_eav_attribute`의 표는 필드`is_visible`와 속성의 가시성을 설정합니다.
`is_visible` = 0
. `is_visible` = 1
.`is_visible`=0
다시 중간 이름 / 초기 필드가 Checkout에서 사라졌습니다.젠토 CE 1.9.2.1 업데이트는 "연락처보기 중간 이름 (초기)"설정 아래에있는 젠토 관리자에 표시되는 내용에 영향을주지 않고`customer_eav_attribute` 테이블의 중간 이름 설정을 튀 겼다. "중간 이름 표시 (초기)"설정을 토글하여 광범위한 템플릿을 조정하지 않고도 관리자에서 설정이 정상적으로 조정되는 방식으로 수정할 수 있습니다.
어떤 이유로 든 상점 환경과 일치하도록 상점을 업그레이드하는 경우와 같이 상점의 여러 사본 또는 일괄 업데이트로이 관리 설정을 전송해야하는 경우 ... 이 설정에 다음 SQL 문을 사용할 수 있습니다 ( 상점에서 "중간 이름"이`attribute_id` 6 및 21이라는 것을 알고 있다면 이것은 마젠 토의 표준이지만 안전하려면`eav_attribute` 테이블을 먼저 다시 확인하십시오.)
UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);
시스템 구성 옵션 에 고객 EAV 속성 (표 :)이 동일하게 변경 되는 백엔드 모델 ( Mage_Adminhtml_Model_System_Config_Backend_Customer_Show_Customer
)이 _afterSave
있습니다 customer_eav_attribute
.
시스템 구성 옵션 값과 EAV 속성 is_visible
값이 반드시 동기화되어있을 필요는 없습니다 (마 젠토 업그레이드로 인해 또는 구성 옵션이 프로그래밍 방식으로 변경되었거나 다른 이유로 인해).
스위치를 두 번 뒤집 으면 스위치가 고쳐 지거나 나처럼 설치 / 업그레이드 스크립트를 사용하는 경우 다음을 수행 할 수 있습니다.
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;
}
$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
가장 쉬운 방법 :
마 젠토 ver. 1.9.2.1
System > Configuration > Customers > Customer configuration > Name and Address Options
Show Middle Name (initial)
= No
제거 {{depend middlename}}{{var middlename}}
@sr_magento처럼하면 삭제하지 않습니다 실제로 그의 대답에 제안 Show Middle Name (initial)
체크 아웃 페이지 자체에서 필드. 관리 영역, PDF 및 전자 메일 템플릿과 같이 고객 주소 정보가 렌더링 / 인쇄되는 영역에서만 정보를 제거합니다.
이메일 템플릿에서 필드를 제거 할 필요가 없습니다. 이것은 과잉이며 Show Middle Name(initial)
나중에 사용하도록 결정한 경우 해당 항목을 전자 메일 템플릿에 다시 추가해야합니다 .
나는에서 업데이트 한 후도이 결함을 발견했습니다 젠토 CE 1.9.2.0 에 젠토 CE 1.9.2.1 젠토 다운로더를 사용하여. 업데이트가 Show Middle Name (initial)
아래 설정을 조정하는 것 같습니다
System > Configuration > Customers > Customer Configuration > Name and Address Options
에서 "아니오" 를 "예" . 다른 서버의 여러 상점에서 나에게 일어났습니다.
이를 취소하려면 간단히 "아니오"로 설정하고 구성을 저장하십시오. 이 Show Middle Name (initial)
필드는 더 이상 결제 페이지에 표시되지 않습니다.