在Joomla的菜单模块中显示文章内容

时间:2013-01-29 13:52:41

标签: joomla joomla2.5

我是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>

2 个答案:

答案 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

添加了mod_menu覆盖

然后我将其添加到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