<Home>

再谈自定义Textpattern的feed输出

前面提到过 关于自定义Textpattern的feed输出 的方法,那是通过建立一个单独的页面然后用xml的形式输出内容。不过当时也提出了一些问题,比如文件类型比如效率等等。总之那个方法不是很可取。

这次说一下通过修改默认的rss.php和atom.php文件来实现部分自定义的方法。

首先声明,我本人对php基本上不谦虚地说是十窍通了九窍,不那么“不谦虚”的话也就是一窍不通。所有的修改都是仅凭我按照原有代码格式硬生生的“逻辑类推”出来的,也不知道正不正确、规不规范,但是没见到别人有说过类似方法,而且我修改之后的确可以使用,所以就厚着脸皮说一说呗。转载请注明来自 dimlau.com

我所说的自定义,无非是在feed里文章下面添加个评论链接、版权声明或者其他什么乱七八糟的内容,所以如果不合你的要求,请略过。

打开文件夹

textpattern\publish

找到rss.php和atom.php文件。先打开rss.php文件,找到:

(trim($content) ? tag(n.escape_cdata($content).n,'content:encoded').n : '').

以在文章后边加上评论链接为例,可以修改成如下形式:

(trim($content) ? tag(n.escape_cdata($content).n.'<![CDATA[<p>dimlau.com期待<a href="'.$permlink.'#comment">你来评论</a>。</p>]]>','content:encoded').n : '').

atom.php文件修改方法类似,找到:

$e['content'] = tag(n.escape_cdata($content).n,'content',t_html);

修改成:

$e['content'] = tag(n.escape_cdata($content).n.'<![CDATA[<p>dimlau.com期待<a href="'.$permlink.'#comment">你来评论</a>。</p>]]>','content',t_html);

上述修改添加的内容里'.$permlink.'代表文章固定链接。你可以把我上面举例的代码里<![CDATA[]]>之间的内容替换成任意内容以适应你的要求,甚至可以添加一个如下样式的图片banner广告位:

以rss.php举例,只要把代码修改成下面的样式即可:

(trim($content) ? tag(n.escape_cdata($content).n.'<![CDATA[<p><a href="http://kaix.in" target="_top"><img src="http://kaix.in/uim/kaixinad.png" border="0" /></a></p>]]>','content:encoded').n : '').

很简陋,但是凑活着用吧。

fin.

页面会变得很长么?期待。

zhilun 2008-01-01,09:10 says: “回复”

突然想到的哈,那张图片,开心元年改换成开心次年了。新年快乐