我是Joomla的新手,并被要求转换非Joomla网站以使用Joomla。
该网站的结构类似于手风琴菜单,页面内容显示在页面链接下,如下所示:
点击第1条链接:
╔════════════════╦══════════════════════╗
║ Article 1 Link ║ ║
║ ║ Content of article 1 ║
║ Article 2 Link ║ ║
║ Article 3 Link ║ ║
║ Article 4 Link ║ ║
║ Article 5 Link ║ ║
╚════════════════╩══════════════════════╝
点击第3条链接:
╔════════════════╦══════════════════════╗
║ Article 1 Link ║ ║
║ Article 2 Link ║ ║
║ Article 3 Link ║ ║
║ ║ Content of article 3 ║
║ Article 4 Link ║ ║
║ Article 5 Link ║ ║
╚════════════════╩══════════════════════╝
是否可以在Joomla 2.5中执行此操作?我很难理解如何,因为你可以有一个菜单模块,但你如何在该模块中显示文章内容?
文章内容最好位于菜单项的<li>
内,因此在html视图中:
<ul>
<li><a href="#link1">Link 1</a></li>
<li class="current"><a href="#link2">Link 2</a>
<div>
<!-- ARTICLE CONTENT FOR Link 2 -->
</div>
</li>
<li><a href="#link3">Link 3</a></li>
</ul>
答案 0 :(得分:2)
components / com_contact / contact / tmpl / default.php中有一个示例,它以第50行(给出或取出)开头,展示了如何使用内置的JHtml手风琴(在Joomla中称为Sliders)。如果要从mod_menu的副本构建新模块,可以使用该代码作为示例。
首先,我建议尝试一些扩展,因为JED上有许多手风琴菜单。如果不出意外,您将获得有关如何最好地实施的想法。 http://extensions.joomla.org/extensions/structure-a-navigation/menu-systems/accordion-menus
答案 1 :(得分:0)
我通过将mod_menu文件复制到MYTEMPLATE/html/mod_menu/CUSTOMMENUNAME.php
然后我将其添加到for循环中:
if ($item->id == $active_id) {
这让我可以看到当前正在查看的页面。在the Joomla的rcarey的帮助下!论坛,我把它添加到mod_menu文件的顶部:
require_once JPATH_SITE.'/components/com_content/helpers/route.php';
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');
// Get an instance of the model for getting an article
$model = JModelLegacy::getInstance('Article', 'ContentModel', array('ignore_request' => true));
// Set application parameters in model
$app = JFactory::getApplication();
$appParams = $app->getParams();
$model->setState('params', $appParams);
然后在mod_menu循环中,我所要做的就是:
$article = $model->getItem($item->id)
现在我可以在mod_menu的循环中使用$article
。