Magento如何知道加载/显示哪个布局(和模板)?

如果我在我的控制器中看到这个功能 - Magento如何知道加载/显示哪个布局(和模板)?

public function upsellAction()
{
    $this->loadLayout();
    $this->renderLayout();
}

查找模块的布局

在您的模块中,etc/config.xml您可以找到以下内容:

<layout>
    <updates>
        <module module="Vendor_Module">
            <file>path/to.xml</file>
        </module>
    </updates>
</layout>

如果此节点位于该<frontend>节点下,您将在该文件下app/design/frontend/base/default/layout/path/to.xml。如果此节点位于节点下,<adminhtml>则它将位于节点下app/design/adminhtml/default/default/layout/path/to.xml

找到此操作方法的正确句柄

首先,您需要找出模块的路径名称。

它位于您的模块文件夹下 etc/config.xml

如果您正在处理前端控制器,它将位于<frontend>节点下:

    <routers>
        <customfrontname>
            <use>standard</use>
            <args>
                <module>Vendor_Module</module>
                <frontName>customfrontname</frontName>
            </args>
        </customfrontname>
    </routers>

在上面的示例中,您的前缀是customfrontname

如果是后端控制器,前端将始终是adminhtml您的商店已修补。

现在,您需要找到您的控制器名称,这并不困难,它是您的控制器文件的开始。

例如,如果您的控制器被调用CustomController.php它将是custom

最后,最后一部分是方法名称的开头。

在你的情况下,你的方法被调用upsellAction它将是upsell

总而言之,在我的示例中,您的布局句柄将是<customfrontname_custom_upsell>前端控制器和<adminhtml_custom_upsell>后端控制器的情况。

现在,您只需打开第一部分中找到的布局文件,然后查看这些布局处理节点内的内容

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论