Magento对象在*.phtml文件中

Ala*_*lan 0 magento

1)Magento .phtml文件中$ this/$ resource变量引用了什么?

2)在哪里可以找到我可以使用$ this/$ resource的方法列表?

print_r显示巨大的对象,其功能不是很容易理解.

Mar*_*ius 5

模板文件(.phtml)包含在块方法中,因此可以返回正确的html.看方法Mage_Core_Block_Template::fetchView.
所有具有关联模板的块类都会扩展Mage_Core_Block_Template该类.

所以$this实际上是当前正在使用的块类.
理论上,一个模板可以由多个块类使用.但这很少发生.
如果你不知道什么$this只是在模板文件中添加:

echo get_class($this); 
Run Code Online (Sandbox Code Playgroud)

你会得到班级名称.
如果您需要可用的方法,可以执行以下操作:

echo "<pre>"; print_r(get_class_methods($this));echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

但是......你会发现你能够调用一些并不存在的方法.
由于类Mage_Core_Block_Template扩展Varien_Object实现的方法__call,你就能调用开头的任何方法get,set,uns,has没有得到即使该方法不存在错误.

我没有看过带变量的phtml,$resource但你可以像对待那样对待$this.