我正在为PDF发票制作Magento 1的解决方案。我们希望发票显示按stock_location排序的产品。我们所有的位置都以字母A,B,C等开头。然后是一些数字。
我希望发票能够按字母表显示产品,因此当我们找到从A到Z开始的产品时,您就知道了从上到下。我只是想弄清楚如何解决这个问题?
foreach ($invoice->getAllItems() as $item){
if ($item->getOrderItem()->getParentItem()) {
continue;
}
/* Draw item */
$this->_drawItem($item, $page, $order);
$page = end($pdf->pages);
}
其他任何人都想要这个,也许有一个线索我应该去哪里? :)
答案 0 :(得分:0)
我不知道怎么能在Magento做到这一点,但我分享一些想法,你怎么能用PHP做到这一点尝试.hope它会对你有帮助
$response[] = array(
'product_id' => $stock->product_id,
'product_name' => $stock->product_name,
'stock_id' => $stock->stock_id,
'stock_location' => $stock->stock_location,
);
}
foreach ($response as $rec) {
$stock_location[] = $rec['stock_location'];
$title[] = strtolower($rec['product_name']);
}
//print_r($stock_location);
array_multisort($stock_location, SORT_ASC, SORT_NUMERIC, $title, SORT_ASC, SORT_STRING, $response);
print_r($response);
答案 1 :(得分:0)
找到解决方案:
$items = $invoice->getAllItems();
$sortedItems = array();
foreach ($items as $item) {
$prod = Mage::getModel('catalog/product')->load($item->getProductId());
$sortedItems[$prod->getStockLocation()] = $item;
}
ksort($sortedItems);
foreach ($sortedItems as $item){
if ($item->getOrderItem()->getParentItem()) {
continue;
}
/* Draw item */
$this->_drawItem($item, $page, $order);
$page = end($pdf->pages);
}