【问题标题】:How can I get a list of products related to an invoice in magento?如何在 magento 中获取与发票相关的产品列表?
【发布时间】:2010-12-09 06:31:20
【问题描述】:

我正在尝试按字母顺序排列 magento 网站后端发票上列出的项目。

我有权访问用于在后端显示这些项目的 Mage_Adminhtml_Block_Sales_Order_Invoice_View_Items 对象。

有什么方法可以使用此对象来获取产品 sku 列表并重新排序这些项目?

编辑:

这是收集对象以在视图中显示的代码行。我想我需要在此之前对项目进行排序 -

<?php $_items = $this->getInvoice()->getAllItems() ?>

【问题讨论】:

    标签: magento backend invoice


    【解决方案1】:

    您应该在事件“sales_order_invoice_item_collection_load_before”上附加您的处理程序。从事件中获取集合对象并附加此函数

    $invoiceObject->addAttributeToSort('sku', 'desc')
    

    【讨论】:

    • 谢谢。我在这里找到了一篇文章,解释了如何通常与事件挂钩:techportal.ibuildings.com/2010/04/20/… – 但是你会帮助将这个想法充实到一个工作示例中吗?
    【解决方案2】:

    你可以试试这个:

    $this->getInvoice()->getItemsCollection()->addAttributeToSort('sku', 'desc')
    

    【讨论】:

    • 谢谢,我会试一试。这会修改对象的实际状态吗?我已经在模板中添加了将发票项目收集到数组中的行到我的原始帖子中——我会尝试在该行的正上方添加您的行。
    • 好像没有什么效果,我再试试看。
    • 你会得到需要迭代的集合,这不会改变现有的集合
    • 好的,这确实给了我相同的项目集合,但排序没有抓住
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多