我们知道在Joomla!中有这样一个系统默认的插件:内容-加载模块 (Content - Load Modules) ,专门解决想在文章中插入一个特定模块,比如你可能想在文章中介绍你开发的一个模块,而且其用法也是非常简单,在文章编辑器中插入下面两种语法的代码,根据需要:
此语法的意思是在文章中插入一个指定好了模块位置的模块,例如在创建模块的时候,模块位置项自己写成yourposition,名称根据自己喜好来即可,这样就在这篇文章中只显示创建在yourposition模块位置的模块了。
此语法的意思是在文章中插入所有已创建好的mod_login模块,比如你要是已经创建过两个mod_login的登陆模块,那么都会在这篇文章中显示 ,一般这种用法不太多,除非你这个各类的模块只有这么一个,那么在创建这个模块的时候,最好也是用自定义的模块位置,比如yourposition
关于这个基础用法,大家可以去体验一下,本文的主旨并非仅于此,根据最近遇到的一个实战应用,深入运用这个插件。
比如我们现在需要在所有的文章中插入一个“旗帜广告模块(mod_banner)”,首先每个文章都写一个不太现实,那么有人会说直接在/templates/jk_Joomla178/html/com_content/article/default.php(还不知道是什么意思吗,请参考:Joomla! 2.5.x 文章布局、分类布局模板释疑,原理都等同) 中直接插入代码,这不失为一个好办法,但是广告管理起来就麻烦了,下次换广告,又得改模板代码。
所以我们想个办法,把这个代码放在文章模板文件/templates/jk_Joomla178/html/com_content/article/default.php中,但是我们在测试后发现在此文件中直接添加的话,该插件就失效了。
搜索找到一文:How can I display Joomla modules within a component?,该问答站中有网友回复用下方代码可在文章模板中正常显示插件