了解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