Joomla 模板 - 可供下载

Joomla template - is on homepage

我想创建一个 joomla 3.x 模板,它在主页上显示的 UI 与所有其他页面上的不同。

这适用于以下代码:

$app = JFactory::getApplication();
$menu = $app->getMenu();
$lang = JFactory::getLanguage();
$isHomePage = $menu->getActive() == $menu->getDefault($lang->getTag());

当我点击菜单项 $isHomePage 时 "false" 我可以显示不同的布局。

但是当我从主页上的精选文章列表中打开一篇文章时,菜单项仍然是主页,但用户确实看到了该文章。

如果用户真的在主页上,我如何获取信息?

据我了解,主页条件在内页上为真是因为如果一篇文章没有任何菜单,它会从当前菜单中获取。所以点击主页文章link携带主页菜单id。

我可以建议一些替代方案 -

1) 检查 URL - 检查当前 URL 是否等于网站页面 URL.

$uri = JUri::getInstance(); 
$currentUrl = trim($uri->toString(),'/');
$homeUrl = trim(JUri::root(),'/');
$isHomePage = $currentUrl == $homeUrl;

2) 检查主页参数和内页参数。例如,如果您的主页是文章并且 ID 为 X,请从请求参数检查 optionid 参数到 com_contentid == X.

希望对您有所帮助。