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 /为文章类别模块添加类别描述

joomla T3框架中模板分离与自定义(local文件夹)

如何为 k2 类别创建自定义模板并将此模板分配给 Joomla 支持?

Joomla 注册覆盖