本文整理汇总了PHP中Magento\Customer\Api\Data\CustomerInterface::getAddresses方法的典型用法代码示例。如果您正苦于以下问题:PHP CustomerInterface::getAddresses方法的具体用法?PHP CustomerInterface::getAddresses怎么用?PHP CustomerInterface::getAddresses使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Customer\Api\Data\CustomerInterface
的用法示例。
在下文中一共展示了CustomerInterface::getAddresses方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createCustomerItem
/**
* Creates a collection item that represents a customer for the customer Grid.
*
* @param CustomerInterface $customer Input data for creating the item.
* @return \Magento\Framework\Object Collection item that represents a customer
*/
protected function createCustomerItem(CustomerInterface $customer)
{
$customerNameParts = [$customer->getPrefix(), $customer->getFirstname(), $customer->getMiddlename(), $customer->getLastname(), $customer->getSuffix()];
$customerItem = new \Magento\Framework\Object();
$customerItem->setId($customer->getId());
$customerItem->setEntityId($customer->getId());
// All parts of the customer name must be displayed in the name column of the grid
$customerItem->setName(implode(' ', array_filter($customerNameParts)));
$customerItem->setEmail($customer->getEmail());
$customerItem->setWebsiteId($customer->getWebsiteId());
$customerItem->setCreatedAt($customer->getCreatedAt());
$customerItem->setGroupId($customer->getGroupId());
$billingAddress = null;
foreach ($customer->getAddresses() as $address) {
if ($address->isDefaultBilling()) {
$billingAddress = $address;
break;
}
}
if ($billingAddress !== null) {
$customerItem->setBillingTelephone($billingAddress->getTelephone());
$customerItem->setBillingPostcode($billingAddress->getPostcode());
$customerItem->setBillingCountryId($billingAddress->getCountryId());
$region = $billingAddress->getRegion() === null ? '' : $billingAddress->getRegion()->getRegion();
$customerItem->setBillingRegion($region);
}
return $customerItem;
}
示例2: execute
/**
* @param CustomerInterface $entity
* @param array $arguments
* @return CustomerInterface
* @throws \Exception
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function execute($entity, $arguments = [])
{
$newAddresses = [];
foreach ($entity->getAddresses() as $address) {
$address->setCustomerId($entity->getId());
$newAddresses[] = $this->entityManager->save($address);
}
$entity->setAddresses($newAddresses);
return $entity;
}
示例3: getAddressById
/**
* Get address by id
*
* @param CustomerInterface $customer
* @param int $addressId
* @return AddressInterface|null
*/
protected function getAddressById(CustomerInterface $customer, $addressId)
{
foreach ($customer->getAddresses() as $address) {
if ($address->getId() == $addressId) {
return $address;
}
}
return null;
}
示例4: setCustomer
/**
* Define customer object
*
* @param \Magento\Customer\Api\Data\CustomerInterface $customer
* @return $this
*/
public function setCustomer(\Magento\Customer\Api\Data\CustomerInterface $customer = null)
{
/* @TODO: Remove the method after all external usages are refactored in MAGETWO-19930 */
$this->_customer = $customer;
$this->setCustomerId($customer->getId());
$origAddresses = $customer->getAddresses();
$customer->setAddresses([]);
$customerDataFlatArray = $this->objectFactory->create($this->extensibleDataObjectConverter->toFlatArray($customer, [], '\\Magento\\Customer\\Api\\Data\\CustomerInterface'));
$customer->setAddresses($origAddresses);
$this->_objectCopyService->copyFieldsetToTarget('customer_account', 'to_quote', $customerDataFlatArray, $this);
return $this;
}
示例5: populateNewCustomerDataObject
/**
* Create Data Transfer Object of customer candidate
*
* @param \Magento\Framework\App\RequestInterface $inputData
* @param \Magento\Customer\Api\Data\CustomerInterface $currentCustomerData
* @return \Magento\Customer\Api\Data\CustomerInterface
*/
private function populateNewCustomerDataObject(\Magento\Framework\App\RequestInterface $inputData, \Magento\Customer\Api\Data\CustomerInterface $currentCustomerData)
{
$customerDto = $this->customerExtractor->extract(self::FORM_DATA_EXTRACTOR_CODE, $inputData);
$customerDto->setId($currentCustomerData->getId());
if (!$customerDto->getAddresses()) {
$customerDto->setAddresses($currentCustomerData->getAddresses());
}
if (!$inputData->getParam('change_email')) {
$customerDto->setEmail($currentCustomerData->getEmail());
}
return $customerDto;
}