aja*_*olf 7 php xml block magento
例子
mylayoutfile.xml
<layout>
<default>
<reference name="header">
<block type="mynamespace_mymodule/view" name="mynamespace_mymodule" output="toHtml" template="mymodule/html/view.phtml">
<action method="setTest"><param1>myparam1</param1><param2>myparam2</param2></action>
</block>
</reference>
</default>
</layout>
Run Code Online (Sandbox Code Playgroud)
应用程序/代码/本地/ myNameSpace对象/ Mymodule中/座/ View.php
class Mynamespace_Mymodule_Block_View extends Mage_Core_Block_Template{
public $test = "before any params";
public function setTest($passedparam1,$passedparam2){
$this->test = $passedparam1 ." ". $passedparam2;
}
}
Run Code Online (Sandbox Code Playgroud)
应用程序/设计/.../.../ mymodule中/ HTML/view.phtml
<?php
echo "<pre>";
print_r($this->test); //myparam1 myparam2
echo"</pre>";
die();
Run Code Online (Sandbox Code Playgroud)
说明
mylayoutfile是通过模块config.xml在更新中编译的
mynamespace_module的块类前缀也在模块config.xml中定义
mynamespace_module/view设置为块类型并实例化,并设置view.phtml的输出文件
调用父节点块的方法setTest传递两个参数,其值为myparam1和myparam2.
在setTest函数内部,类参数"test"设置为等于"myparam1 myparam2"
模板文件app/design /.../.../ mymodule/html/view.phtml被加载,我们回显$ this-> test的值($ this指的是早期实例化的块类Mynamespace_mymodule_Block_View)
ben*_*rks 14
setTitle
中的catalog.xml.任何事都可以通过.可以在布局XML中定义数组:
<action method="setFoo">
<arbitrary>
<key1>val1</key1>
<key2>val1</key2>
</arbitrary>
</action>
Run Code Online (Sandbox Code Playgroud)
此外,参数节点可以执行辅助方法,其返回值将作为值传递:
<action method="setFoo">
<arbitrary helper="foo/bar" />
</action>
Run Code Online (Sandbox Code Playgroud)
这将实例化一个帮助程序并运行一个方法:Mage::helper('foo')->bar()
.因此,返回值可以是您想要的任何值.另外args可以传递给子节点中的帮助器!
Varien_Object
,所以是的,虽然setter是唯一合理的使用者.ifconfig
属性,它将Mage::getStoreConfigFlag()
使用提供的参数调用,并在配置值为true时处理操作. 归档时间: |
|
查看次数: |
10356 次 |
最近记录: |