Magento 扩展如何从默认主题应用主题?

Posted

技术标签:

【中文标题】Magento 扩展如何从默认主题应用主题?【英文标题】:Magento extensions how to apply the theme from the default theme? 【发布时间】:2011-12-11 11:24:20 【问题描述】:

刚才我在magento 1.6 中安装了gallery 和news 的两个扩展。我得到的页面和它的工作正常。但它没有采用我想要应用的主题。我想以正确的布局应用 2column。但我不知道如何应用这种布局。如何应用扩展页面的布局? 请帮我解决这个问题。

提前致谢。

【问题讨论】:

【参考方案1】:

首先,意识到您可能无法做到这一点。根据扩展的创作方式,它们可能依赖于特定模板。其次,如果您为这些扩展付费,您有权获得支持。联系他们的作者,看看他们能提供什么样的帮助。

您需要在此处做的是在这些页面加载时应用运行布局更新。开始布局更新的最简单和最好的方法是将它们添加到作为主题一部分的local.xml

要应用布局更新,您需要知道特定页面的布局句柄。布局句柄是一个看起来像这样的字符串

customer_account_login

布局句柄的第一部分是模块名称,第二部分是控制器名称,第三部分是动作名称。如果您查看Layout Tab on the Commerce Bug demo site(免责声明:Commerce Bug 是我的商业调试扩展,在这里提到是因为我不知道更简单的描述方式),您可以看到为特定页面生成的各种句柄。

找到页面的布局句柄后,将其添加到主题的 local.xml 文件中。

File: app/design/frontend/default/yourtheme/layout/local.xml
<layouts>
    <extension_handle_name>
        <!-- ... -->
    </extension_handle_name>
</layouts>

接下来,句柄内,我们将添加一个布局更新 XML 字符串,它将应用您想要的根 phtml 模板。

File: app/design/frontend/default/yourtheme/layout/local.xml
<layouts>
    <extension_handle_name>
        <reference name="root">
            <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
        </reference>
    </extension_handle_name>
</layouts>

同样,您的扩展前端代码可能不是以与2columns-right.phtml 模板兼容的方式创建的。扩展也有可能使用了 Magento 中的功能,允许他们将模板“锁定”到位,这将阻止任何人更改它。

祝你好运!

【讨论】:

以上是关于Magento 扩展如何从默认主题应用主题?的主要内容,如果未能解决你的问题,请参考以下文章

Magento主题模块路径规则符号

Magento主题结构

Magento主题切换器扩展

在主题中扩展Magento小部件布局

麦进斗:magento如何安装子主题

麦进斗:magento如何安装子主题