Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: [plugin] [ORPHAN] ajw_comments_feed
jakob wrote #319852:
<txp:header value="text_xml" /><txp:article escape="trim">...
Shouldn’t it be text/xml
?
<txp:evaluate query='<txp:page_url type="comment-feed" escape="quote" /> = "rss"'>...
And then in the article form:
<a href="<txp:permlink />?comment-feed=rss">Comment feed for this article</a>...
Why wouldn’t you create a text/xml
media type and assign this type to article_comment_feed
form? Then you wouldn’t need to include <txp:header />
(since is set by form type), neither evaluate
test if your links were
<a href="<txp:permlink />?f=article_comment_feed">Comment feed for this article</a>
Offline
Re: [plugin] [ORPHAN] ajw_comments_feed
etc wrote #319853:
Shouldn’t it be
text/xml
?
Yes, sorry I mistyped that here.
Why wouldn’t you create a
text/xml
media type and assign this type toarticle_comment_feed
form? Then you wouldn’t need to include<txp:header />
(since is set by form type), neitherevaluate
test if your links were
<a href="<txp:permlink />?f=article_comment_feed">Comment feed for this article</a>...
Brilliant! I love how you casually drop these small wonders into a thread! That works perfectly. Is this something I overlooked or is that an undocumented feature?
I know about being able to create custom form types after enabling advanced settings and being able to give them a content-type, but I didn’t know about the ?f=form-name
url parameter. Perhaps I just missed that when it was announced? Presumably that’s protected from misuse? People can’t start outputting my pages using another form they suspect or know I might have in my setup?
Anyhow, long story short – this works:
1. Set “Advanced options” to “on” in Admin › Preferences › Admin if not already set.
2. Go to Admin › Preferences › Advanced options (as enabled in step 1) and under Custom form template types add the form type:
[feed]
mediatype="text/xml"
3. Go to Presentation › Forms and create a new form with the name comment-feed
(or whatever you want to use) and type feed
(which after step 2 will now show in the form type dropdown) and paste the following into it:
<txp:article escape="trim">
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<generator>http://textpattern.com/</generator>
<title><txp:site_name /> – <txp:title no_widow="0" /></title>
<description><txp:title no_widow="0" /> - comments</description>
<link><txp:permlink /></link>
<atom:link href="<txp:permlink />?f=comment-feed" rel="self" type="application/rss+xml" />
<pubDate><txp:comments break="" sort="posted desc" limit="1" escape="trim"><txp:comment_time format="rfc822" /></txp:comments></pubDate>
<txp:comments break="item">
<title>Comment on <txp:title no_widow="0" /> by <txp:comment_name link="0" /></title>
<link><txp:comment_permlink /></link>
<guid><txp:comment_permlink /></guid>
<pubDate><txp:comment_time format="rfc822" /></pubDate>
<description><![CDATA[<txp:comment_message />]]></description>
<content:encoded><![CDATA[<txp:comment_message />]]></content:encoded>
<dc:creator><txp:comment_name /></dc:creator>
</txp:comments>
</channel>
</rss>
</txp:article>
(If you use a form with another name, be sure to change the href
of atom:link
to match)
4. In your comments_display
form add the line:
<a href="<txp:permlink />?f=comment-feed">Comment feed for this article</a>
That’s it!
Altogether much cleaner than my version in the previous thread and doesn’t require any page template adjustments or detection mechanisms.
TXP Builders – finely-crafted code, design and txp
Offline
Re: [plugin] [ORPHAN] ajw_comments_feed
jakob wrote #319857:
I know about being able to create custom form types after enabling advanced settings and being able to give them a content-type, but I didn’t know about the
?f=form-name
url parameter. Perhaps I just missed that when it was announced? Presumably that’s protected from misuse? People can’t start outputting my pages using another form they suspect or know I might have in my setup?
These ?f
links are not meant to be constructed directly, but via <txp:output_form />
tag. The construction is not yet documented nor established, sorry. But for a teaser, in individual article context you can get it with
<txp:output_form format form="my-form" context="id" />
And yes, people can output your pages using any media-typed form, but that’s what they are designed for. “Usual” forms stay private.
Offline