我试着解释一下,这有点令人困惑。
情景:
我的Joomla有一个桌面模板和一个移动模板。假设根据设备用途切换模板以查看站点。
我的问题:
模板的切换效果很好,但在查看移动网站时,Joomla模板覆盖无法从移动模板获得正确的模块覆盖。它从桌面模板中获取模块覆盖。
我通过添加此代码进行了测试
echo JModuleHelper::getLayoutPath('mod_mymodule')
在我的移动模板index.php中检查它用于特定模块的覆盖文件夹并显示
.../desktop_template/html/mod_mymodule/default.php
这不正确,实际应该是
.../mobile_template/html/mod_mymodule/default.php
我不确定为什么它没有使用我的移动模板路径,因为视口正在显示我的移动模板。这发生在我的所有已覆盖的模块上。它似乎无法检测到移动模板覆盖文件。
我的问题是:
有没有办法可以手动将JModuleHelper :: getLayoutPath(' mod_mymodule')更改为我的移动模板中的移动路径index.php
或者
有没有办法操纵jdoc:在移动模板中加入以在我的移动模板中使用覆盖文件。
答案 0 :(得分:0)
好的,首先两个不同的模板不是我认为的好方法。你不需要移动交换机两个模板。我会用布局来做。因此,您可以为模块发送可选的布局路径,如:
require(JModuleHelper::getLayoutPath('mod_xyz', 'newlayout'));
Cos joomla使用分配给菜单项的模板(我猜桌面)。
也许它是一种使用两个模板的方法,但我认为它非常奇怪。