Magento主题中左列的块类型是什么?
我正在开发一个自定义的Magento(1.3)主题,并且想要添加一个左列。
我已经创建了html中的template / page / html / left.phtml。
在2columns-left.phtml中,我添加了以下内容:
<?php echo $this->getChildHtml('left'); ?>
在page.xml中,我添加了以下内容:
<block type="page/html" name="left" as="left" template="page/html/left.phtml" />
我不完全理解的是块类型应该是什么 - 它似乎工作,如果我做页/ html,核心/模板或页面/ html_header - 这是什么和这个案件的正确价值是什么,我的只是想有效地包含一个phtml文件 - page / html / left.phtml等。
谢谢,
伊恩
这是正在发生的事情的简化版本,但希望能够让您顺利进行。
特殊对象
有三种类型的对象,Magento认为“特殊”。 这些是模型,块和助手。 而不是为这些对象使用类名称Magento使用称为类别别名的类似URI的字符串。 所以这
page/html
对应于Block类
Mage_Page_Block_Html
这里的类是指PHP类,而不是CSS类。
Magento页面渲染
布局对象负责为Magento页面创建所有HTML。
布局对象是嵌套块对象的集合。
大多数块对象都是模板块,即块类继承自基础Magento模Mage_Core_Block_Template
。 模板块是负责呈现phtml模板文件的对象。
因此,当您在XML布局文件中指定“类型”时,您告诉Magento。
我想使用模板baz.phtml添加一个带有foo / bar类的块对象
在代码中,就是这样
<!-- "name" and "as" are used to identify the block in the layout, so that
PHP code can get a reference to the object. -->
<block type="foo/bar" name="myname" as="myname" template="path/to/baz.phtml" />
如果你只想渲染一个模板文件,你可以使用
type="core/template"
但是,通过使用不同的值,如
type="page/html"
你的phtml模板文件可以访问所有的方法
Mage_Page_Block_Html
这意味着你可以做类似的事情
File: template.phtml
<a href="<?php echo $this->getBaseUrl();?>"></a>
core/template
类没有getBaseUrl
方法,但是page/html
类没有。
如果您正在开发自定义模块开发(而不是主题),我通常在自己的模块中创建一个Block对象,以扩展其中一个基本Magento块。 这让我可以将我自己的方法添加到块中,只要我认为合适。 如果你只是主题, page/html
是一个不错的默认值。
这种情况最好的类型是core/text_list
因为它连接了每个孩子的HTML。
为了测试你可以在你的布局XML中使用这个例子:
<block type="core/text_list" name="left" as="left">
<block type="core/text" name="test">
<action method="setText"><text>Hello World</text></action>
</block>
</block>
在magento主题中的左列的块类型
<block type="core/text_list" name="left" as="left" translate="label">
<label>Left Column</label>
</block>
链接地址: http://www.djcxy.com/p/59475.html
上一篇: What Block Type for Left Column in Magento Theme?
下一篇: Is it possible to use Razor 2.0 view engine under mono?