1
에서 고객 주소를 업데이트 :어떻게 내가 같은 코드가 젠토
public function editAddress($data, $id)
{
// $id - customer id, $data - data from form
$customer = Mage::getModel('customer/customer')
->load($id);
if (! $customer->getId() || ! $otherConditionIsValid) {
return $this;
}
$dataShipping = array(
'firstname' => $data['firstname'],
'middlename' => $data['middlename'],
'lastname' => $data['lastname'],
'prefix' => $data['prefix'],
'suffix' => $data['suffix'],
'company' => $data['company'],
'street' => $data['street'],
'country_id' => $data['country'],
'city' => $data['city'],
'region_id' => '',
'region' => $data['region'],
'postcode' => $data['postal'],
'country_id' => $data['country'],
'telephone' => $data['telephone'],
'fax' => $data['fax'],
);
$customerAddress = Mage::getModel('customer/address');
if ($defaultShippingId = $customer->getDefaultShipping()){
$customerAddress->load($defaultShippingId);
} else {
$customerAddress
->setCustomerId($post['customer_id'])
->setIsDefaultShipping('1')
->setSaveInAddressBook('1');
$customer->addAddress($customerAddress);
}
try {
$customerAddress
->addData($dataShipping)
->save();
} catch(Exception $e){
Mage::log('Address Save Error::' . $e->getMessage());
}
return $this;
}
그것을 DB를 업데이트하지 않는,하지만 난 마 젠토에지고있어 데이터 배열, 나는 매우 당신이 나에게 도움이되기를 바랍니다, thx
내가 가진 로그에 이러한 오류 : 저장 오류 : SQLSTATE 주소 [23000] : 무결성 제약 조건 위반 : 1452 추가 또는 자식 행을 업데이트 할 수 없습니다 : shopping_app'.'customer_address_entity''(외래 키 제약 조건이 실패, CONSTRAINT'FK_CUSTOMER_ADDRESS_ENTITY_PARENT_ID_CUSTOMER_ENTITY_ENTITY_ID' FOREIGN KEY ('parent_id')'customer_entity' ('entity_id') ON DE)를 참조하십시오. 나를 설명해 주시겠습니까 – user2519904
게시물을 작성하는 고객 ID가 유효합니까? 또한 나는 이것을 알았다. $ customer-> getDefaultShipping()과 같이 기본 배송을 얻었지만 ID를 얻으려면 $ customer-> getDefaultShipping() -> getId()와 같이 가져와야한다. 당신은 ID뿐 아니라 전체 주소 객체를 얻고 있습니다. 여기에서 ID를 사용하려고합니다. –