Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2012-03-08 11:23:35

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

[de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Hallöle :-),

ich habe ein “form” für externe Links, damit die Überschrift nicht mehr auf den Artikel verlinkt, sondern auf einen externen Link, den ich im “custom field” angegeben habe. Darüber empfehle ich hin und wieder Artikel auf externen Seiten.

Da meine RSS-Leser nicht mitkriegen, ob dieser seltsame kurze Eintrag jetzt ein Blogeintrag war oder eine Linkempfehlung, würde ich gerne Folgendes tun:

- Die Überschrift statt auf den Artikel auf die externe Seite verlinken

- Am Ende der Überschrift einen →-Pfeil hinzufügen

- Im RSS-Artikel einen Permalink zum Artikel hinterlegen

Hat jemand eine Idee wie man das anstellen könnte? (Am besten ohne größere Programmierkenntnisse, die sind (noch?) nicht vorhanden.)

Viele Webseiten haben das ja mittlerweile, beispielsweise genannt sei z. B. marco.org – insofern ist das vielleicht auch für manch anderen interessant.

Dankeschön,

liebe Grüße

Alex

Offline

#2 2012-03-08 17:26:47

phuture303
Member
Registered: 2008-09-14
Posts: 127

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Hallo Alex,

ich bin zwar auch nicht der Profi, was das angeht, aber ich glaube, so kann’s funktionieren – angelehnt an http://txptips.com/create-a-custom-author-feed

Du brauchst das Plugin rah_external_output, um dir einen eigenen Feed zu basteln.

Unter “Erweiterungen” kannst du nun ein eigenes Snippet erstellen. In meinem Fall habe ich das “feed” genannt, content-type muss text/xml sein.

Das komplette Snippet sieht dann bspw. so aus:

<?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 /></title>
 <link><txp:link_to_home /></link>
 <description><txp:site_slogan/></description>
 <pubDate><txp:php>echo strftime( "%a, %d %b %G %T %Z" );</txp:php></pubDate>
 <atom:link href="<txp:site_url/>?rah_external_output=feed" rel="self" type="application/rss+xml" />
 <txp:article_custom allowoverride="0" limit="10" pgonly="0" section="articles">
<item>
<title><txp:title /><txp:if_custom_field name="custom1"> →</txp:if_custom_field></title>
<description>
 <![CDATA[
  <txp:body />
  <txp:if_custom_field name="custom1"><p><a href="<txp:permlink />">⌘</a></p></txp:if_custom_field>
 ]]>
</description>
<link><txp:if_custom_field name="custom1"><txp:custom_field name="custom1" /><txp:else /><txp:permlink /></txp:if_custom_field></link>
<pubDate><txp:posted format="rfc822" gmt="1" /></pubDate>
<dc:creator><txp:author /></dc:creator>
<guid><txp:permlink /></guid>
</item>
</txp:article_custom>
</channel>
</rss>

Ich habe das custom_field custom1 für den Link zum externen Artikel genutzt. Steht in diesem custom_field etwas, wird der Pfeil zusätzlich an den Titel im Feed angehängt:

<title><txp:title /><txp:if_custom_field name="custom1"> →</txp:if_custom_field></title>

Welche Artikel genau im Feed ausgegeben werden sollen, löst man mit der Zeile:

<txp:article_custom allowoverride="0" limit="10" pgonly="0" section="articles">

Hier kannst du wie üblich alles einstellen (section, category, limit, time…)

Da der Titel im Feed bei den “Pfeil-Artikeln” nicht auf die eigene Seite, sondern zum Link führen soll, der in “custom1” steht, löst man das über folgende Zeile:

<link><txp:if_custom_field name="custom1"><txp:custom_field name="custom1" /><txp:else /><txp:permlink /></txp:if_custom_field></link>

Möchtest du in den “Pfeil-Artikeln” einen Permalink unter dem zum eigenen Artikel haben, geht das bspw. so (Symbol willkürlich gewählt):

<txp:if_custom_field name="custom1"><p><a href="<txp:permlink />">⌘</a></p></txp:if_custom_field>

Das war’s im Prinzip auch schon. Dein Feed ist nun über http://www.example.com/?rah_external_output=feed erreichbar (Domain natürlich austauschen :-). Du solltest den alten Feed – wenn dann alles funktioniert – auf den neuen umleiten, bspw. via htaccess.

Ich hab übrigens versucht, statt der reinen Symbole (Pfeil/PoI) die HTML-Codierung zu verwenden; das hat aber nicht funktioniert – keine Ahnung warum. Wie gesagt, selber kein Profi :-)

Viele Grüße & viel Erfolg
David

Offline

#3 2012-03-08 20:28:50

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Super, vielen Dank, David! Ich werde es ausprobieren und Bescheid geben ob und wie’s geklappt hat.

Einziger Knackpunkt ist halt, dass man da eine neue Feed-URL bekommt. Umleiten scheint zwar per htaccess problemlos zu gehen, ist aber trotzdem irgendwie schade.

Offline

#4 2012-03-08 20:37:57

phuture303
Member
Registered: 2008-09-14
Posts: 127

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Kann ich verstehen, ist optisch halt einfach etwas unschön. Aber du kannst ja nach wie vor die “clean-URL” angeben, wird ja weitergeleitet. Oder du nutzt gleich die Gelegenheit und nutzt Feedburner, dann hättest du auch Abo-Statistiken. Der Feed von dort ist allerdings nach meiner Erfahrung nicht ganz so fix, weil die natürlich erst mal vorbeicrawlen müssen.

Offline

#5 2012-03-08 20:43:38

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Ich frage mich halt ob alle Reader in der Lage sind weiterzuleiten (auch rückwirkend).

Und ich frage mich ob es nicht vielleicht mal Probleme gibt wenn das Plugin mit einem Textpattern-Update nicht mehr kompatibel ist oder so, oder wie man vorgehen soll, wenn man aufhört, das zu nutzen und die URL folglich nicht mehr funktioniert?

Offline

#6 2012-03-08 21:17:22

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,599
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Du kannst folgendes in dein .htaccess Datei oberhalb die RewriteCond Zeilen die dort schon stehen und ein eigenes URL (hier /feed) verwenden:

	RewriteRule ^feed/?$ index.php?rah_external_output=feed [L]

rah_external_output ist schon praktisch -da sehe ich kaum Probleme und gocom ist recht fleißig in updaten. Aber Du kannst auch dein Feed über eine eigenes Sektion ausgeben in dem Du der Code in eine neue txp Seitenvorlage tust. Um dieses mit der richtige “Content-Type” auszugeben kannst du mg_setheader oder aks_header verwenden.


TXP Builders – finely-crafted code, design and txp

Offline

#7 2012-03-08 21:23:21

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Danke jakob,

aber was macht die RewriteRule? So wie ich das sehe leitet sie weiter, wie es z. B. auch Redirect /feed http://(...)/feed2 tun würde?

Also bisher habe ich nur /rss angeboten bei mir, insofern würde ich die URL gerne weiternutzen und dann nur auf den Plugin-Feed weiterleiten.

Empfiehlt sich dafür deine RewriteRule mehr als z. B. Redirect oder RedirectPermanent oder ist das egal?

Nachtrag:

Egal welche Version – ob deine RewriteRule oder RedirectPermanent – ich nutze, neue Einträge werden in meinem NetNewsWire nur beim rah-Feed geladen, nicht mehr unter /rss. :-(

Eine Idee, wie ich die Reader dazu bringen kann, die Weiterleitung anzunehmen?

Last edited by ar (2012-03-08 22:37:23)

Offline

#8 2012-03-08 21:36:26

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Okay, habe es ausprobiert. Das funktioniert wunderbar mit den verlinkten Überschriften! :-)

Danke vielmals, David!

Offline

#9 2012-03-08 22:44:36

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,599
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

/rss/ ist der Standard Feed-Adresse von TXP und dort wird der Feed mit dem Artikel-Permlink standardmäßig ausgegeben. Das was Du mit rah_external_output machst, oder über eine eigene Sektion ist eine eigene Lösung und hat kein Einfluss auf der Standard-variante.

Die RewriteRule schreibt alle Links to www.dein-adresse.de/feed (mit oder ohne / dahinter) unsichtbar um auf rah_external_output=feed so dass der Nutzer den ganzen rah_external_output nie sehen muss. Du kannst auch etwas anderes als ^feed/?$ nutzen, aber /rss klappt meines Wissens leider nicht, da dies für TXP reserviert ist. Der ^ markiert der Anfang der URL, der $ das Ende und ? mit oder ohne der vorangegangene Zeichen.

Rewrite ist keine Umleitung von eine Seite zum nächsten, nur eine Umschreibung der URL.

Last edited by jakob (2012-03-08 22:44:49)


TXP Builders – finely-crafted code, design and txp

Offline

#10 2012-03-08 23:08:17

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Die unsichtbare Weiterleitung funktioniert tatsächlich nicht, die sichtbare allerdings schon. Zumindest wenn man den Feed “frisch” hinzufügt.

Passt schon so. :-) Danke euch!

Offline

#11 2012-03-08 23:24:03

ar
Member
From: Nuremberg, Germany
Registered: 2012-03-08
Posts: 45
Website

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

Ich hab übrigens versucht, statt der reinen Symbole (Pfeil/PoI) die HTML-Codierung zu verwenden; das hat aber nicht funktioniert – keine Ahnung warum. Wie gesagt, selber kein Profi :-)

Du meinst z. B. &rarr;?

Das gab bei mir in der XML-Ansicht von Chromium eine Fehlermeldung. Habe das jetzt durch &#8594; ersetzt und jetzt ist die Fehlermeldung verschwunden.

Vielleicht sind diese “menschlicheren” Abkürzungen nur für Browser gedacht oder so.

Last edited by ar (2012-03-08 23:26:11)

Offline

#12 2012-03-09 07:47:11

phuture303
Member
Registered: 2008-09-14
Posts: 127

Re: [de-de] Überschrift im RSS-Feed auf externe Seite verlinken

ar schrieb:

Du meinst z. B. &rarr;?

Jo, genau – da funktionierte bei mir der ganze Feed-Output nicht mehr. Mit dem dezimalen Unicode ist das aber kein Problem, danke für den Hinweis.

Offline

Board footer

Powered by FluxBB