了解Magento块和块类型
我只是想了解其意义
<block type="page/html" name="root" output="toHtml" template="example/view.phtml">
我从Google获得了很多参考资料,并了解了很多关于它的内容,但我仍然无法理解type="page/html"
如何为我的自定义模块构成类型。
请解释
type="A/B"
让我知道这个A和B从哪里来?
A
是模块的别名。 在这种情况下, page
是Mage_Page_Block
简称(如果您想查看,它在app/code/core/Mage/Page/etc/config.xml
)。
B
是相对于别名的类名,每个单词的首字母大写。 在这种情况下, html
变成Html
并被附加到已解析的别名,因此它是Mage_Page_Block_Html
。 这可能在文件app/code/core/Mage/Page/Block/Html.php
因为类名直接转换为Magento中的位置。
如果您使用模型别名而不是块别名,那么page
将是Mage_Page_Model
。 资源模型和帮助者也会发生同样的情况。 如果它有块,模型和助手,你自己的模块需要在它的配置中定义这些模块。
要了解更多关于magento块类型的信息,请参阅以下一些内置块类型,这些类型在布局中广泛使用。
core/template
:该模块呈现由template
属性定义的template
。 布局中定义的大部分块都是core/template
的类型或子类型。 page/html
:这是core/template
一个子类型,并定义了根块。 所有其他块都是该块的子块。 page/html_head
:定义包含JavaScript,CSS等元素的页面的HTML头部分。 page/html_header
:定义page/html_header
的标题部分,其中包含站点徽标,顶部链接等。 page/template_links
:该块用于创建链接列表。 页脚和标题区域中可见的链接使用此块类型。 core/text_list
: content
, left
, right
等一些块的类型是core/text_list
。 渲染这些块时,所有子块都会自动呈现,而无需调用getChildHtml()
方法。 page/html_wrapper
:该块用于创建一个包装块,该块通过操作setHtmlTagName
设置其HTML块中的子块。 如果没有元素被设置,默认标签是<div>
。 page/html_breadcrumbs
:该块定义页面上的面包屑。 page/html_footer
:定义包含页脚链接,版权信息等页面的页脚区域 core/messages
:该模块呈现错误/成功/通知消息。 page/switch
:此块可用于语言或商店切换器。 这是只有常用块类型的列表。 在高级主题实现中使用了许多其他的块类型。
<block type="page/html" name="root" output="toHtml" template="example/view.phtml">
页面是在etc/config.xml
文件中定义的FrontendName html是块类名称
更多细节:
在这一行type(type="page/html")
定义与你的template(template="example/view.phtml">)
相关的块类名template(template="example/view.phtml">)
,name是每个块的唯一值。
首先看文件夹结构
应用>本地>命名>模块名>等>的config.xml
我们设置FrontendName = 'mymodule'
app> local> namespace> modulename> Block > hello.php
在hello.php中你创建了一个函数
class namespace_modulename_Block_Data extends Mage_Core_Block_Template
{
public function mydata()
{
$data = "Block is called";
return $data;
}
}
现在来到你的布局xml页面:
<block type="mymodule/data" name="xyz" template="example/view.phtml">
这里mydata是前端名称
现在来到你的模板
template / example / view.phtml页面
在这里你可以直接调用mydata()函数
喜欢
<div>
<?php echo $this->mydata(); ?>
</div>
现在你可以在浏览器中获得你的输出“Block is called”
链接地址: http://www.djcxy.com/p/10193.html