步骤:
1.使用firebug找到相应的html
从图中可以看到“slide-item-wrap”可以作为我们的一个目标(可能并不是完全准确定位,但是我们离下一步很近了)
2.使用notepad++编辑器的文件内容搜索功能
查找结果如下:
对照后台确定我们的布局(Layout)
打开布局文件(default.php)
往布局文件变量前面找相应变量”$slide“看看有没有赋值,发现只有一个判断
继续往回找,进入模块同名php文件”mod_jmnewspro.php“
可以找到$slide
它由helper的方法调用,因此进入helper.php找到相应的方法
可以发现有一个switch,对过滤类型做了选择,因此,我们需要在这里加入”tags“的过滤
而这个switch的变量来自$params的”slider_source“,因此进入xml文件
可以看到它对应的类型不是普通的text/radio,因此需要找到类型的输出文件,一般在elements目录里面,类型同名php文件
进入类型同名文件,找到输出位置:
添加我们需要的”tags“过滤选项,观察1-8,10作为switch的值,还有9可用,因此填入
在后台查看结果
需要标签过滤,那需要给后台加入标签选择功能,回到xml中添加标签id的field
然后查看后台可以看到标签选择的地方
数据输入有了,那么需要做过滤处理了,首先加入switch的选择
然后为switch选择里面的方法”getSlidesFromTags“写处理
发现函数处理报错,$model为null,因此加入ContentModelArticle的路径
到此,标签过滤功能算是定制完成了!
不过,Joomla的3.2.3之前的版本(之后的不知道修复了没),我在这里Articles model can not filter tags[fixed] 提交过bug,用户需要在”/components/com_content/models/articles.php “ 中做一些修改,以使得我们加入的过滤参数filter.tags能够被使用来过滤文章
修改一:
修改二:
到这里,一个完整的实现完成了!!
下载文件包?猛戳这里下载mod-jmnewspro-v2-0-0-add-tags
未经同意禁止转载!
转载请附带本文原文地址:如何给Joomla mod_jmnewspro模块添加标签过滤,首发自 Zjmainstay学习笔记