再谈自定义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: “回复”
突然想到的哈,那张图片,开心元年改换成开心次年了。新年快乐