我需要获取已购买和使用的下载次数,这是$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();
因此,在此文件中,我可以访问其他方法,但我无法获得以下详细信息:
所以,我请求如何获取与文件下载相关的Download.php
上的当前订单实例和/或当前链接实例。
谢谢!
答案 0 :(得分:1)
你做错了,没有设置/声明它们就不能获得像-std=c11
这样的任何对象。当您尝试在帮助程序中获取-std=c99
和$this->getOrderItem()
时,您正在从客户可下载产品重定向的自定义页面上使用该帮助程序。这是你必须做的事情
从客户的我的可下载产品,在重定向网址中,您必须将这些产品order_id
和item_id
作为参数传递。你可以从下面的代码中获取它们
order_id
现在,在使用帮助程序函数的模板文件中,将此item_id
和$orderId = $_item->getPurchased()->getOrderId();
$itemId = $_item->getId();
传递给method参数。如下面的代码
order_id
在您的帮助文件中,您可以使用以下代码
item_id
注意:不要对核心文件进行任何更改,而是覆盖它们