看过高手们的添加"更多(more)"的办法!以下简称more,有看过针对文章显示模块等办法,但是没找到关于任意模块的添加“more”办法,只是觉得不太好用~自己研究出来了一个简单解决方案
在细细研究模块中发现可以通过类似模块的Module Class Suffix来实现自定义模块链接(module link),方法如下:
1、我们要在需要用到的在后台模块里面添加类似Module Class Suffix的输入选项
拿joomla自带的mod_custom作为实例,找到文件\modules\mod_custom\mod_custom.xml
找到代码:
<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
在其后添加
<param name="module_customlink" type="text" default="#" label="module custom link" description="about custom link of module" />
2、找到模板的module.php文件,然后添加more
一般位置都在模板位置下面的html文件夹内,例如templates\ja_teline_iii\html\module.php
查找function modChrome_的函数,有的模板用到的模板函数比较多,例如ja_teline_iii有2个,function modChrome_JArounded和function modChrome_JAxhtml,这里我们以ja_teline_iii模板的module.php里面的function modChrome_JAxhtml为例
找到
<h3><?php echo $module->title; ?></h3>
修改为:
<span class="spanleft"><h3>title; ?></h3></span>
<span class="spanright"><a href="/get('module_customlink'); ?>">more</a></span><!--请一定注意href="/..."多了个"/"在复制代码的时候切记删除-->
更深入一层,如果不想显示自定义链接的话,不防在xml再加上一条,
<param name="show_customlink" type="radio" default="1" label="Show Customlink" description="PARAMFRONTPAGEITEMS">
<option value="1">show</option>
<option value="0">hide</option>
</param>
设定是否显示自定义链接more,然后,修改module.php文件
<h3>
<span class="spanleft">title; ?> </span>
get('show_customlink')==1) : ?>
<span class="spanright"><a class="more" href="/get('module_customlink'); ?>" target="_blank">>'); ?></a></span><!--请一定注意href="/..."多了个"/"在复制代码的时候切记删除-->
<?php endif; ?>
</h3>
*注:<span class="spanleft">这种写法是因为我的样式表中定义了spanleft、spanright,当然这里也可以写成<span sytle="float:left"></span>、<span style="float:right"></span> 功能只是让标题和more一个居左、一个居右罢了!
另外,可在设计模板,或是现有模板基础上调用自定的module 比如有的模板模块调用的时候,可以加一句style="JAxhtml" 这样这一块的模块就会用JAxhtml的模块内容。这样即可避免有的模块不需要自定义的“更多”
原创文章,转载请标明出处