Joomla如何将模块放到页面的任意地方? 原

redmaomail 2024-07-25 10:34 阅读数 75 #Joomla

红帽云邮外贸主机

 为了方便的在页面中展示模块,Joomla核心提供了一个 “Content - load Modules”插件,这个插件提供了三种方法在页面中展示模块。分别是loadposition, loadmodule 和 loadmoduleid

理论依据


当“内容 - 加载模块”插件开启的时候,我们可以方便的将模块放置到任何的地方,比如文章中。这种插件提供3中方法来记载模块,其语法是:

  • {Xloadposition position,[style]}     {Xloadposition 模块位置的名称,[风格]}  
  • {lXoadmodule mod_type,the title,[style]}   {Xloadmodule 模块的类型,模块的标题,[风格]}
  • {Xloadmoduleid moduleId}   {Xloadmoduleid 模块的ID} 

其中style是可选的。请将{X替换为{

loadposition

通过模块的位置来加载模块。如果你希望显示模块为“zmaxtab” 的模块,我们可以使用 {Xloadposition zmaxtab}.  这样的语法来显示模块。这个语法支持style参数,如  {Xloadposition zmaxtab  ,xhtml}.

loadmodule

通过模块的类型和标题来加载模块。如果你希望显示标题未 “用户登录” 模块,那么首先你需要这个用户登录模块的类型为mod_login .他的标题未 “用户登录”。所以我们可以使用 {Xloadmodule mod_login 用户登录}.  这样的语法来显示模块。这个语法支持style参数,如  {Xloadmodule mod_login 用户登录 ,xhtml}.

loadmoduleid

通过模块的ID来加载模块,如果你希望显示ID为200的模块,那么使用{Xloadmoduleid 200}. 这个方法不支持Style参数。

如何使用?


对于普通的用户,一般会在文章或者自定义HTML模块中来使用。

在文章或者自定义HTML模块中,那么直接使用上面3个语法中的一个。直接复制到文章中,让后将其中的参数进行实际替换即可。如采用loadpostion方法,直接复制{Xloadposition position}到文中,然后将后面的参数postion替换为具体需要使用的位置(user1)。 最后在文章中为{Xloadposition user1}.保存后,插件会自动将这个地方的内容替换为对应模块的输出。刷新前台页面即可看到效果

值得注意的是,如果你在自定HTML模块中使用上面的语法来加载模块,那么你必须确保自定义HTML模块的参数允许执行内容插件设置为是。如图:

 

默认情况下,系统自动的编辑器中是自带有插入模块的功能按钮,直接使用插入模块按钮来插入模块。其最终也是将上面的代码插入到编辑器中。

对于开发者

如果你希望使用PHP代码来输出模块,其使用语法和上面类似。代码如下:

<?php echo   JHTML::_('content.prepare', '{loadmoduleid 模块的ID}');  ?>

模块不显示的原因


使用此种方法显示模块,也通用遵循模块的菜单分配和模块的访问级别。当指定的模块没有出现的使用请参考如下的方法排查

  • 1,检查显示模块的字符串是否原样输出。如果是原样输出,那么说明你的加载模块插件可能没有启用,或者你写的加载模块的代码出现了语法错误,检查是否打错了字
  • 2,如果输出模块代码没有在前台显示,但模块就是没有出现。那么检查模块的菜单指派(是否指派在当前的页面上了),或者检查模块的访问权限是否给到了当前用户

 


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机