Magento - getTreeHtml() - 这个方法到底在哪里?

时间:2011-08-26 10:06:24

标签: magento

希望有人可以帮我解决这个问题,因为我有点困惑。

我正在尝试对产品选择器小部件进行逆向工程,以便我可以从前端的按钮触发它。我正在取得进展,虽然很慢。

令我困惑的一件事是container.phtml文件中的一行代码:

getTreeHtml()?>

我似乎无法看到这个'getTreeHtml'方法的位置。我查看了模板的关联块,继承的块,以及对象层次结构的所有方式。我也在整个Magento目录上进行了文本搜索,但这种方法没有出现在任何地方......我在这里错过了什么?

感谢任何帮助, 伊恩

1 个答案:

答案 0 :(得分:1)

它是一个非声明的字段访问器('魔术'方法)。每当你在Varien_Object上调用setField(value)或getField()而没有真正声明这些方法(它们在类中不存在)时,Varien_Object会检查其$ this->数据数组以查找带有a的条目'字段'键。如果存在这样的条目,则返回/设置$ this-> data ['field']值。

该方法用于您的Widget。查看文件:

./Mage/Adminhtml/controllers/Catalog/Product/WidgetController.php:

在其中的某个地方你可以找到这个电话:

setTreeHtml($categoriesTree->toHtml())

如您所见,该值在控制器中设置,稍后可以在模板中读取。

相关问题