如何使用Joomla左侧边栏位置来自定义组件菜单

时间:2011-05-16 08:13:50

标签: joomla joomla-extensions joomla-template

客户端网站使用左栏中包含大量模块的Joomla模板,但对于我正在设计的自定义组件,这些模块必须由垂直菜单替换。我想出的 hack 解决方案是使用CSS隐藏这些模块:

div#leftpad > div {
    display:none;
}

然后使用javascript在<div id='compmenu'>中插入<div id='leftpad'>并设置display:block。使用jQuery,我可以做到

jQuery('#compmenu').appendTo('#leftpad').show();

该组件显示谷歌地图,因此无论如何都需要javascript。这里的任何Joomla专家都知道一种更优雅或直接的方法来获得相同的结果吗?

2 个答案:

答案 0 :(得分:1)

为什么不在模块或组件显示时使用Menu-Bind for Modules中的构建来隐藏它们,这将是一种干净的方式。我认为你的Module / Comp绑定了一个菜单项。

编辑: 确保您的客户必须以正确的方式实施您的Module / Comp。是非常糟糕用黑客做这样的事情。

  • 为您的组件创建菜单项(程序)
  • 创建隐藏菜单
  • 将您的组件添加到该菜单
  • 从此menue中取消绑定所有模块

Joomla API拥有一系列关于构建组件的好教程。我过去经历过它们但是我看到它们已经改进了它们。据我所知,您的组件相对简单,因此默认菜单应该是您想要的。它在安装XML

中描述
 <administration>
  <!-- Administration Menu Section -->
  <menu>MyMenuLink</menu>

  <!-- some other stuff -->

 </administration>

将在Joomla上市!在客户端安装组件后,menumanager。所以我认为对你来说并不难。

答案 1 :(得分:1)

在Joomla中,菜单类型由已安装组件指定的各种视图决定。如果您的组件已正确编码为Joomla MVC标准,则您应该至少有一个View,它将为您提供至少一种菜单类型供您选择。正如sra所提到的,即使您不需要菜单链接,也应该创建一个隐藏菜单,这样您就可以创建一个链接,这样您就可以使用itemID来分配模块。

有一些扩展和网站可以帮助为组件创建必要的文件,所以您只需添加一些代码即可。一旦你理解了Joomla MVC,它真的不太难。

http://docs.joomla.org/Developing_a_Model-View-Controller_Component_-_Part_1

如果最终用户必须弄清楚如何使用您的组件,那么这样做会在以后节省很多麻烦。