访问Download.php上的$ item-> getNumberOfDownloadsUsed()函数

时间:2017-11-16 12:18:33

标签: php magento e-commerce magento-1.9

我需要获取已购买和使用的下载次数,这是$item对象上提供的两种方法。但我无法在我工作的文件上实例$item

app/code/core/Mage/Downloadable/Helper/Download.php

在这个文件中,我需要检索购买的下载数量和使用的数据。

我还尝试获取订单ID或至少使用链接哈希来识别具有购买的唯一ID的boughts /使用下载数量。

例如,我试试这个:

Mage::getModel('downloadable/link_purchased_item')
            ->load($this->getOrderItem()->getOrder()->getId(), 'order_id');

$this->getOrderItem()文件无法使用Download.php。我正在尝试这个:

Mage::getModel('downloadable/link_purchased_item')->getCollection()
            ->addFieldToFilter('order_item_id', $this->getOrderItem()->getId());

但显然getOrderItem()不可用。

  

致命错误:在第135行的/[...]/app/code/core/Mage/Downloadable/Helper/Download.php中调用未定义的方法Mage_Downloadable_Helper_Download :: getOrderItem()

但是我能够使用客户单身人士来检索这样的客户数据:

$cliente = Mage::getSingleton('customer/session')->getCustomer();

因此,在此文件中,我可以访问其他方法,但我无法获得以下详细信息:

  • 购买的下载次数
  • 使用的下载次数
  • 订单ID或链接哈希ID。

所以,我请求如何获取与文件下载相关的Download.php上的当前订单实例和/或当前链接实例。

谢谢!

1 个答案:

答案 0 :(得分:1)

你做错了,没有设置/声明它们就不能获得像-std=c11这样的任何对象。当您尝试在帮助程序中获取-std=c99$this->getOrderItem()时,您正在从客户可下载产品重定向的自定义页面上使用该帮助程序。这是你必须做的事情

步骤1

从客户的我的可下载产品,在重定向网址中,您必须将这些产品order_iditem_id作为参数传递。你可以从下面的代码中获取它们

order_id

步骤-2

现在,在使用帮助程序函数的模板文件中,将此item_id$orderId = $_item->getPurchased()->getOrderId(); $itemId = $_item->getId(); 传递给method参数。如下面的代码

order_id

步骤-3

在您的帮助文件中,您可以使用以下代码

item_id

注意:不要对核心文件进行任何更改,而是覆盖它们