我已经定义了一些自定义属性并通过Opencart管理面板将它们分配给产品。我试图在结帐时检索这些属性以调整一些运费。
我目前正在函数中的catalog/model/shipping/ups.php
文件中getQuote
工作。我正在接近这个:
print_r($this->cart->getProducts());
这给了我以下产品数据:
Array
(
[59] => Array
(
[key] => 59
[product_id] => 59
[name] => My Product Name
[model] => ABC
[shipping] => 1
[image] => data/myproduct.jpg
[option] => Array
(
)
[download] => Array
(
)
[quantity] => 1
[minimum] => 1
[subtract] => 1
[stock] => 1
[price] => 29.99
[total] => 29.99
[reward] => 0
[points] => 0
[tax_class_id] => 0
[weight] => 3.75
[weight_class_id] => 5
[length] => 0.00
[width] => 0.00
[height] => 0.00
[length_class_id] => 3
)
)
但是,不会返回任何自定义属性。我确信有一种很好的方法可以将产品 ID 传递给属性获取函数,但我找不到它。Opencart 文档在开发方面有点缺乏,而且在 Google 上也没有运气。
通常我会grep
从整个目录结构中找出我正在寻找的东西,但是在这个特定的 Web 主机上禁用了 shell 访问:(。
编辑
我相信 Attributes 是 Opencart 中内置的一项新功能。它就像一个自定义字段。
无论如何,在管理方面,我转到目录 > 属性并创建了一个名为“Shipping Box Type”的自定义属性。然后,在特定产品下,我可以设置属性。见截图。我的目标是检索“Shipping Box Type”的值。这能回答你的问题@Cleverbot 吗?我确定我可以做一个自定义数据库查询来抓取它,但是必须有一个内置函数来抓取属性?