如何将joomla菜单项类型的结果显示为模块?

时间:2010-02-09 08:44:46

标签: php joomla module menuitem

我不确定如何把它...但我在我的joomla网站中使用某些模块,只能使用菜单项显示,例如Phoca gallery,hwdvideoshare等。这些模块无法在任何特定位置显示,而是必须创建链接到这些模块的菜单项,并根据所选的配置参数显示它们。是否有可能以任何方式在任何文章中使用这些菜单项点击的结果?例如我想将特定类别的视频库显示为模块(不创建任何要点击的菜单项)?

如果我不清楚我的要求是否被理解,请提出问题,我会回答,因为我不知道如何解释我的要求以及我应该搜索什么。

4 个答案:

答案 0 :(得分:2)

要添加更多复杂功能,请使用模块将基本网址放入iframe,如下所示:

<?php
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
$class = $params->get('class');
$relurl = $params->get('relurl');
$Document =& JFactory::getDocument();
$baseurl = $Document->baseurl;
$url = '';
$j = 0;
while ($j < strlen($relurl)) 
    { 
        $x = substr($relurl,$j,1);
        $j++; 
        if ( $x == '~' ) { $x = $baseurl; }
        $url = $url . $x ;
    }
echo '<iframe class="' . $class . '" src="' . $url . '"></iframe>' . "\n";
?>

此模块采用类似'〜/ index2.php?option = com_proforms&amp; jid = 3&amp; cid = -1'的参数并展开波浪号,以便iframe指向您的站点。因此,如果从开发环境转移到实时环境,则无需更改代码。

答案 1 :(得分:0)

如果您使用的某些“模块”只能使用菜单项显示,则它们不是模块,而是组件

Joomla中的扩展分为“组件”,“模块”和“插件”。 Learn their differences.

  

模块

     

模块是用于显示简单信息的扩展。   最新消息是一个模块的例子。

要实现目标(至少在Phoca Gallery中),您可以下载Phoca Gallery Module然后insert your module into articles

答案 2 :(得分:0)

呃......这是你怎么做的。您可以通过创建如下所示的链接直接链接到组件:

http://yourblogname.com/index2.php?option=com_(yourcomponentname)

如果您进入菜单管理器,并选择要链接到的组件,您应该会在其中的某处看到类似的URL。

通过更改该URL以链接到“index2.php”而不是“index.php”,可以强制Joomla直接链接到组件,并将其原始输出转储到页面。

现在,如果您想将组件放入页面上其他位置的模块中,您只需创建一个自定义HTML模块,然后使用该源URL删除和iframe。凌乱,但这是我所知道的最佳选择。

答案 3 :(得分:0)

创建一个分配给模块的菜单项。将其命名为子菜单,然后将其添加到组件默认文件中以呈现子菜单

$modules = JModuleHelper::getModules('user9');
$document   = JFactory::getDocument();
$renderer   = $document->loadRenderer('module');
$params = array('style'=>'');
$contents = '';
$contents .= $renderer->render(current($modules), $params);

echo $contents;

或使用 文章或用户中的{loadposition xxx}