Joomla 模板模块覆盖不适用于移动模板
Posted
技术标签:
【中文标题】Joomla 模板模块覆盖不适用于移动模板【英文标题】:Joomla template module override not working for mobile template 【发布时间】:2016-06-01 05:15:11 【问题描述】:我试图正确解释这一点,它有点令人困惑。
场景:
我的 Joomla 有一个桌面模板和一个移动模板。假设根据浏览网站的设备使用切换模板。
我的问题:
模板的切换效果很好,但是在查看移动网站时,Joomla 模板覆盖没有从移动模板中获得正确的模块覆盖。它从桌面模板获取模块覆盖。
我通过添加此代码进行了测试
echo JModuleHelper::getLayoutPath('mod_mymodule')
在我的移动模板 index.php 中检查它用于特定模块的覆盖文件夹并显示
.../desktop_template/html/mod_mymodule/default.php
这是不正确的,实际上应该是
.../mobile_template/html/mod_mymodule/default.php
我不确定为什么它不使用我的移动模板路径,因为视口正在显示我的移动模板。这发生在我所有具有覆盖的模块上。它似乎无法检测到移动模板覆盖文件。
我的问题是:
有没有一种方法可以在我的移动模板 index.php 中手动将 JModuleHelper::getLayoutPath('mod_mymodule') 更改为我的移动路径
或者
有没有办法在移动模板中操作 jdoc:include 以在我的移动模板中使用覆盖文件。
【问题讨论】:
【参考方案1】:首先,我认为两个不同的模板不是一个好方法。您不需要移动切换两个模板。我会用布局来做。所以你可以为你的模块发送一个可选的布局路径,比如:
require(JModuleHelper::getLayoutPath('mod_xyz', 'newlayout'));
cos joomla 使用分配给菜单项的模板(我猜是桌面)。
也许它是使用两个模板的一种方式,但我认为它很奇怪。
【讨论】:
以上是关于Joomla 模板模块覆盖不适用于移动模板的主要内容,如果未能解决你的问题,请参考以下文章
Joomla 3 MVC 平台 12.1 自定义组件模板覆盖
Joomla 组件“高级模块管理器”不适用于 j2store。怎么做?
joomla T3框架中模板分离与自定义(local文件夹)