2014年03月25日 17:41:21

如何给Joomla mod_jmnewspro模块添加标签过滤

作者: 

本文讲解如何给mod_jmnewspro模块添加标签过滤

步骤:
1.使用firebug找到相应的html
firebug 找到相应html

从图中可以看到“slide-item-wrap”可以作为我们的一个目标(可能并不是完全准确定位,但是我们离下一步很近了)

2.使用notepad++编辑器的文件内容搜索功能
notepad++ file content search

查找结果如下:
notepad++ file content search result

对照后台确定我们的布局(Layout)
module layout

打开布局文件(default.php)
layout file

往布局文件变量前面找相应变量”$slide“看看有没有赋值,发现只有一个判断
search variable

继续往回找,进入模块同名php文件”mod_jmnewspro.php“
mod_jmnewspro.php

可以找到$slide
mod_jmnewspro.php inside

它由helper的方法调用,因此进入helper.php找到相应的方法
helper.php inside

可以发现有一个switch,对过滤类型做了选择,因此,我们需要在这里加入”tags“的过滤
helper.php filter type

而这个switch的变量来自$params的”slider_source“,因此进入xml文件
xml file

可以看到它对应的类型不是普通的text/radio,因此需要找到类型的输出文件,一般在elements目录里面,类型同名php文件
xml field type

进入类型同名文件,找到输出位置:
xml field type output

添加我们需要的”tags“过滤选项,观察1-8,10作为switch的值,还有9可用,因此填入
add filter type

在后台查看结果
filter type output backend

需要标签过滤,那需要给后台加入标签选择功能,回到xml中添加标签id的field
xml add tagids field

然后查看后台可以看到标签选择的地方
tagids select in backend

数据输入有了,那么需要做过滤处理了,首先加入switch的选择
add switch by tags

然后为switch选择里面的方法”getSlidesFromTags“写处理
getSlidesFromTags method

发现函数处理报错,$model为null,因此加入ContentModelArticle的路径
add include path

到此,标签过滤功能算是定制完成了!

不过,Joomla的3.2.3之前的版本(之后的不知道修复了没),我在这里Articles model can not filter tags[fixed] 提交过bug,用户需要在”/components/com_content/models/articles.php “ 中做一些修改,以使得我们加入的过滤参数filter.tags能够被使用来过滤文章
修改一:
models article modify
修改二:
models article modify

到这里,一个完整的实现完成了!!

下载文件包?猛戳这里下载mod-jmnewspro-v2-0-0-add-tags



未经同意禁止转载!
转载请附带本文原文地址:如何给Joomla mod_jmnewspro模块添加标签过滤,首发自 Zjmainstay学习笔记
阅读( 6907 )
看完顺手点个赞呗:
(2 votes)

1.PHP cURL群:PHP cURL高级技术
2.正则表达式群:专精正则表达式
3. QQ联系(加请说明):QQ联系博主(951086941)
4. 邮箱:zjmainstay@163.com
5. 打赏博主:

网站总访问量: