RSS a <link> vs. <link />

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomas Jancik
Člen | 103
+
0
-

Snazim se generovat RSS feed, ale narazim na problem, kdy se mi kazdy tag <link> v iteme prevede na <link />

sablona:

{contentType application/rss+xml}
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>TS FREE DANCE - RSS feed</title>
		<link>http://www.tsfreedance.cz</link>
		<description>Nejnovější zprávičky a události z webu TS FREE DANCE</description>
		<language>cs</language>
		<managingEditor>t.jancik@gmail.com (Tomas Jancik)</managingEditor>
		<webMaster>t.jancik@gmail.com (Tomas Jancik)</webMaster>
		{foreach $aItems as $aItem}
			<item>
				<guid>{$basePath}{$aItem['id']}</guid>
				<title>{$aItem['title']}</title>
				<link>{$basePath}{$aItem['link']}</link>
				<description>{$aItem['description']}</description>
				<pubDate>{$aItem['pubDate']}</pubDate>
			</item>
			{/foreach}
	</channel>
</rss>

a vysledek

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>TS FREE DANCE - RSS feed</title>
		<link>http://www.tsfreedance.cz</link>
		<description>Nejnovější zprávičky a události z webu TS FREE DANCE</description>
		<language>cs</language>
		<managingEditor>t.jancik@gmail.com (Tomas Jancik)</managingEditor>
		<webMaster>t.jancik@gmail.com (Tomas Jancik)</webMaster>
<item>
	<guid>/custommers/jana_balesova/domains/tsfreedance.cz/subdomains/www/trunkevent-130modified-1339164512</guid>
	<title>Letní tábor TS FREE DANCE</title>
	<link />/custommers/jana_balesova/domains/tsfreedance.cz/subdomains/www/trunkudalost/130/?utm_source=tsfreedance.cz&amp;amp;utm_medium=rss&amp
;amp;utm_campaign=calendar</link>
	<description>Událost "Letní tábor TS FREE DANCE" z kalendáře byla upravena.</description>
	<pubDate>Fri, 08 Jun 2012 16:08:32 +0200</pubDate>
</item>
<item>
	<guid>/custommers/jana_balesova/domains/tsfreedance.cz/subdomains/www/trunknotice-42</guid>
	<title>Přihláška</title>
	<link />/custommers/jana_balesova/domains/tsfreedance.cz/subdomains/www/trunk/?utm_source=tsfreedance.cz&amp;amp;utm_medium=rss&amp;amp;utm_ca
mpaign=notices</link>
	<description>Nová zprávička na webu:"Přihláška"</description>
	<pubDate>Tue, 05 Jun 2012 22:12:44 +0200</pubDate>
</item>

	</channel>
</rss>

Jak muzu vygenerovat jen obycejny <link>?

Nette 2.0.1

redhead
Člen | 1313
+
0
-

To je nějaký divný. Když to přepíšeš na jinej tag (třeba jen <odkaz>), tak to funguje?

Tomas Jancik
Člen | 103
+
0
-

jj, s <odkaz> to funguje… i vsechny ostatni tagy jsou v pohode

nejdivnejsi mi je, ze prvni <link> je v pohode (v hlavicce chanel), vsechny <link>y vnorene v <item> uz jsou spatne

Tomas Jancik
Člen | 103
+
0
-

zkusil jsem aktualizovat na Nette 2.0.4 ktere je aktualne na webu ke stazeni a problem je tam porad…
jen nevim jestli je to chyba moje nebo Nette

Majkl578
Moderator | 1364
+
0
-

Problém se mi na 2.0.4 nedaří reprodukovat (PHP 5.4.6, Linux), výstup je vždy korektní.
Můžeš zkusit zúžit problematickou část (vyhodit ten foreach apod.)? Když nepoužiješ latte proměnné (prostě čistě statické xml), problém přetrvává?

Tomas Jancik
Člen | 103
+
0
-

tak jsem zjistil, ze to dela jen kdyz includuju block content ze sablony „default.latte“ do layoutu "@rss.latte"

@rss.latte

{contentType application/rss+xml}
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>TS FREE DANCE - RSS feed</title>
		<link>http://www.tsfreedance.cz</link>
		<description>Nejnovější zprávičky a události z webu TS FREE DANCE</description>
		<language>cs</language>
		<managingEditor>t.jancik@gmail.com (Tomas Jancik)</managingEditor>
		<webMaster>t.jancik@gmail.com (Tomas Jancik)</webMaster>
		{include #content}
	</channel>
</rss>

default.latte

{block head}

{/block}

{block content}

{foreach $aItems as $aItem}
<item>
	<guid>{$basePath}{$aItem['id']}</guid>
	<title>{$aItem['title']}</title>
	<link>{$basePath}{$aItem['link']}</link>
	<description>{$aItem['description']}</description>
	<pubDate>{$aItem['pubDate']}</pubDate>
</item>
{/foreach}

{/block}

kdyz jsem vse vlozil do @rss.latte, tak je to v poradku…

Grelek
Člen | 233
+
0
-

Zkus v Nette\Config\Extensions\NetteExtension přepsat tohle na FALSE, možná to pomůže.

simPod
Člen | 383
+
0
-

nebo dej {contentType application/rss+xml} i do default.latte