我正在尝试更改送货地址的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) {
但这会导致错误。
有什么建议吗?
谢谢。
答案 0 :(得分:0)
如果您调用getAddresses()
,则该集合已加载,您将无法再进行排序。您必须先访问集合,然后再加载它。
尝试一下:
$addressCollection = $this->getCustomer()->getAddressesCollection()->addAttributeToSort('company', 'ASC');
$addresses = $addressCollection->getItems();
foreach ($addresses as $address){
//...do whatever you need
}