Joomla/借助Abivia Redaction插件滤除Joomla扩展的版权链接

来自站长百科
Jiaomh讨论 | 贡献2011年2月22日 (二) 11:17的版本 (新页面: {{Joomla top}} 你喜爱的第三方Joomla扩展有没有在网站前台留下版权链接(back link)?有些软件作者允许用户在后台参数中将“显示作者版权链...)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航、​ 搜索

Joomla | Joomla使用手册

你喜爱的第三方Joomla扩展有没有在网站前台留下版权链接(back link)?有些软件作者允许用户在后台参数中将“显示作者版权链接”选为“否”,例如 SOBI2 就是这样。不过,大多数作者并没有这么做。

今天介绍一款由 Abivia.net 开发的名为 Redaction Utility 的系统插件,它可以帮助用户轻松滤除这些版权链接。之所以说“滤除”而不用“去除”,是因为 Redaction 插件并不直接修改这些第三方扩展的源文件,而是在 Joomla 进行 HTML 代码输出时,拦截用户指定的那些代码。Redaction 插件不仅能滤除刚刚提到的这些版权链接,还能滤除任何你不想在前台看到的 HTML 输出。只要你给 Redaction 插件指定相应的滤除规则即可。

用Redaction插件滤除版权链接是否合法

如果 Joomla 扩展或模板是遵照 General Public License(GPL) 协议发行,那么你就可以放心修改其源代码去掉版权链接。因为 GPL 允许用户修改软件代码。如果某个 Joomla 扩展的授权协议不是 GPL,那就意味着我们不能修改它的源代码。这时我们通过 Abivia Redaction 插件来滤除它的版权链接,应该是合法的。

Redaction插件用法介绍

以往的做法是,我们将 Joomla 扩展的安装包解压缩,然后在全部文件中搜索前台那个版权链接的字串,找到之后,注释掉(comment out)或删除那段代码即可。不过,有些软件作者并没有直接以明文写出那段代码,而是用加密的方式(例如 Artio JoomSEF),这时“查找/替换”方式就无效了。

而 Redaction 插件的最大方便之处是:你无需关心软件作者是如何在源代码中定义那个版权链接的,我们只要在前台找到这个链接,并编写符合 Redaction 插件工作原理的滤除规则,就能将这个版权链接在网页输出时隐藏。

具体使用方法

下面,我们以 Artio JoomSEF 组件为例,来介绍一下 Redaction 插件的用法。

1.Joomla 1.5 用户安装 Artio JoomSEF 组件并启用之后,在前台的每一个页面底部都会以小号字显示一个“Joomla SEF URLs by Artio”链接(如下图所示),指向 Artio JoomSEF 官方网站。

JoomSEF 1.png

2.在含有这个版权链接的页面上点击鼠标右键,选择“查看源代码”,然后在源代码中搜索“Joomla SEF URLs by Artio”,就能迅速找到页面源代码中的这段,如下图所示:

JoomSEF 2.png

以“Joomla SEF URLs by Artio”这句话为中心逐渐向前后看,首先是 HTML 的 A 元素(那是必须的,因为 a 元素定义超级链接),然后是 DIV 元素。同时,我们注意到 A 元素的链接目标是 http://www.artio.net 。

那么,我们针对 Artio JoomSEF 的滤除规则就是:

div a,/artio\.net/

简单分析一下:英文逗号之前依次是 div 和 a 这两个 HTML 元素,中间用一个空格分隔;artio 之前的斜线(/)表示链接目标;.net 之前的反斜线(\)是正则表达式中对句点(.)符号的特殊写法。这个规则相当于说:如果页面源代码中有指向含 artio.net 字样网址的链接(a),同时这个链接又包含在某个 DIV 中(div),那么就拦截该 DIV 中的全部 HTML 输出。

将上面的规则输入到 Redaction 插件的后台参数中,并启用该插件,现在刷新前台页面,就会发现 Artio JoomSEF 的版权链接已经消失了:

JoomSEF 3.png

温馨提示:如果需要用 Abivia Redaction 插件来滤除多个扩展或模板的链接,那么在后台插件参数中输入这些规则时,每行只能输入一个规则。也就是说,输完一个规则后,按回车换行,然后输入另一个规则。

Redaction插件的高级用法

Abivia Redaction 插件还能识别 CSS 类及 HTML 元素的 ID 标签。这时编写滤除规则时,采用类似 CSS 的语法。例如:

div.credits a,/nqcogpl\.com/

上面这个规则表示:只有当 DIV 元素的 CSS 类为“credits” 时,才生效。如果某个 DIV 的 CSS 类不是 credits,即使该 DIV 中含有指向 nqcogpl.com 的链接,也不会被滤除。

另外,Redaction 插件还允许用户使用 * 或 ? 或 + 符号作为通配符来表示任意字符。例如:

*.credits a,/nqcogpl\.com/i

这个规则表示:无论包含 A 元素的容器是 DIV 还是 span,还是 P,只要其 CSS 类是“credits”同时含有这个链接,就可以生效。

像 Artio JoomSEF 及 AceSEF 这些软件,都提供了两个版本:免费版和收费版。其主要区别就是收费版不显示版权链接。那么,用户借助 Abivia Redaction 插件就能轻松滤除这些版权链接不

参考来源

http://www.joomlagate.com/article/joomla15-tutorial/remove-unwanted-information-with-abivia-redaction-plugin/

Joomla使用手册导航

Joomla安装

Joomla!的安装

Joomla使用手册

用XAMPP快速搭建Joomla本地测试服务器 | 用Gmail的SMTP发送Joomla激活及通知邮件 | 深入认识Joomla CMS:扩展、菜单及模板 | Joomla 1.0教程 | Joomla 1.5教程 | Joomla高级教程 | Joomla! SEO教程