求助:如何在Joomla文章中显示指定格式的导航链接?
嘿,我来帮你实现Joomla文章内显示层级导航的需求!你要的Home > maiActivities2019 > ARCHIDEX > Exhibition这种面包屑样式,有几种靠谱的实现方式,我给你拆解清楚:
方法一:用Joomla内置模块快速嵌入(最简便)
这是最省心的方式,不用写代码,靠Joomla自带的功能就能搞定:
- 首先确认后台的面包屑模块已经配置好:
- 进入后台 → 扩展 → 模块管理,找到「面包屑」模块(如果没有就新建一个,类型选「面包屑」)。
- 在模块设置里,调整你需要的选项:比如开启「显示首页」「显示当前项目」,分隔符可以暂时用默认的,后面再改样式。位置随便选一个(比如选「-无-」也没关系,因为我们要嵌入到文章里),保存模块。
- 启用「Content - Load Module」插件:
去扩展 → 插件管理,找到这个插件,确保它的状态是「启用」(Joomla默认自带这个插件,不用额外安装)。 - 在文章里插入模块调用:
打开你要添加导航的文章编辑页面,在内容里插入代码:{loadmodule Breadcrumbs}。如果你的面包屑模块有自定义标题,就改成{loadmodule Breadcrumbs, 你的模块标题}。
保存文章后,前台就能看到面包屑导航了,样式可以通过模板CSS调整成你要的「>」分隔符样式。
方法二:自定义代码实现(更灵活)
如果需要完全自定义导航的样式或者逻辑,比如修改分隔符、添加自定义类,就用这种方法:
- 新建一个自定义HTML模块:
后台 → 扩展 → 模块管理 → 新建,类型选「自定义HTML」。 - 在模块内容里插入PHP代码(需要确保你的Joomla允许模块执行PHP,或者安装支持PHP的插件,比如「Content - PHP」插件并启用):
<?php // 获取Joomla内置的路径对象 $pathway = JFactory::getApplication()->getPathway(); $breadcrumbItems = $pathway->getPathway(); // 遍历生成导航链接 $breadcrumbLinks = array(); foreach ($breadcrumbItems as $item) { // 给每个链接加自定义类,方便样式调整 $breadcrumbLinks[] = '<span class="breadcrumb-link"><a href="' . $item->link . '">' . $item->name . '</a></span>'; } // 用「>」拼接并输出 echo implode(' > ', $breadcrumbLinks); ?> - 保存模块后,同样用
{loadmodule Custom HTML, 自定义面包屑导航}把模块嵌入到文章里。 - 最后在模板的CSS文件里添加样式(比如模板的
user.css或者custom.css):.breadcrumb-link { margin: 0 4px; } .breadcrumb-link a { color: #2c3e50; text-decoration: none; } .breadcrumb-link a:hover { text-decoration: underline; color: #3498db; }
方法三:模板Override(适合全局修改)
如果你希望所有文章都自动显示这个导航,不用手动插入模块,可以修改文章的模板文件:
- 找到你的模板的文章模板文件:
templates/你的模板名/html/com_content/article/default.php(如果没有这个文件,就从components/com_content/views/article/tmpl/default.php复制一份到模板对应的文件夹里)。 - 在你想显示导航的位置(比如文章标题上方或下方)插入这段代码:
<?php $pathway = JFactory::getApplication()->getPathway(); $items = $pathway->getPathway(); if (!empty($items)) { echo '<div class="article-breadcrumb">'; $links = array(); foreach ($items as $item) { $links[] = '<a href="' . $item->link . '">' . $item->name . '</a>'; } echo implode(' > ', $links); echo '</div>'; } ?> - 保存文件后,所有文章都会自动显示这个面包屑导航,样式同样通过CSS调整。
内容的提问来源于stack exchange,提问作者Miza
相关产品推荐
相关产品推荐

