Magento: порядок сортировки getCustomer-> getAddresses () - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь изменить порядок сортировки коллекции адресов, которая используется в раскрывающемся списке Magento (выберите) для адреса доставки.

Я хочу изменить порядок сортировки на 'Название компании ', а не по умолчанию, которое по id.

foreach ($this->getCustomer()->getAddresses() as $address) {
                $options[] = array(
                    'value' => $address->getId(),
                    'label' => $address->format('oneline')
                );
            }

Я попытался приспособиться к этому:

foreach ($this->getCustomer()->getAddresses()->addAttributeToSort('company', 'ASC') as $address) {

Но это приводит к ошибке.

Есть предложения?

Спасибо.

1 Ответ

0 голосов
/ 18 февраля 2019

Если вы позвоните getAddresses(), коллекция загружена, и вы больше не сможете применить свою сортировку.Вы должны получить доступ к коллекции до того, как она будет загружена.

Попробуйте это так:

$addressCollection = $this->getCustomer()->getAddressesCollection()->addAttributeToSort('company', 'ASC');
$addresses = $addressCollection->getItems();

foreach ($addresses as $address){
 //...do whatever you need
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...