generovaný sitemap.xml bez download requestu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
uestla
Backer | 796
+
0
-

Zdravím.

Ve své aplikaci generuji soubor sitemap.xml (tj. routa /sitemap.xml nasměrovaná na příslušný Presenter a akci, atd.)

V šabloně pak měním Content-type:

{contentType 'application/rss+xml'}
{!='<' . '?xml version="1.0" encoding="UTF-8"?>'}
{* ... atd. *}

Při zadání adresy se ale prohlížeč zachová jako při stahování souboru, místo aby zobrazil sitemap klasicky (např. jako zde). Neví prosím někdo, kde by mohl být zádrhel?

ic
Člen | 430
+
0
-

uestla napsal(a):

Při zadání adresy se ale prohlížeč zachová jako při stahování souboru, místo aby zobrazil sitemap klasicky (např. jako zde). Neví prosím někdo, kde by mohl být zádrhel?

Když se podíváš jaký content type má tebou odkazovaná ukázka… je to application/xml

Editoval ic (16. 10. 2010 9:06)

uestla
Backer | 796
+
0
-

Bohužel ani tohle nepomohlo… Možná je to nastavením serveru, každopádně to není zas až takový průšvih – vyhledávače si to přečtou. Spíš mi šlo jen o vlastní komfort, kdy bych nemusel pokaždé fyzicky stahovat soubor, jen ho zobrazit.

cuga
Člen | 210
+
0
-

ja mam

<?php
{contentType text/xml}
?>

a soubor se mi nestahuje…

Bernard Williams
Člen | 207
+
0
-

Nazdárek,

a není to náhodou otázka prohlížeče? Zkoušel jsi jiné prohlížeče? Jinak já používám

{contentType 'application/rss+xml', 'utf-8'}

a pohodička.

Bernard

uestla
Backer | 796
+
0
-

IE a Opera to zobrazí, ale ve FF a Chromu se odešle request na stažení souboru – což je mi divné, protože na jiných stránkách to FF dokáže zobrazit…

OT: Bernard Williams: nemá makro contentType jen jeden argument? (ten druhý ti to jen zahodí… ?)

jtousek
Člen | 951
+
0
-

Nemohl by být problém v tom, že první řádek je prázdný? Ten text <?xml ... se imho vypíše až na druhý řádek.

Bernard Williams
Člen | 207
+
0
-

uestla napsal(a):

OT: Bernard Williams: nemá makro contentType jen jeden argument? (ten druhý ti to jen zahodí… ?)

Je to možné, já jsem to nezkoušel. Pokud to tak ale je, tak za to může Honza Marek, protože jsem to vykopíroval z jeho šablony :-))

Editoval Bernard Williams (16. 10. 2010 19:21)

Aurielle
Člen | 1281
+
0
-

Proč má vůbec sitemap mít content-type rss+xml?

uestla
Backer | 796
+
0
-

jtousek napsal(a):

Nemohl by být problém v tom, že první řádek je prázdný? Ten text <?xml ... se imho vypíše až na druhý řádek.

Srazil jsem to na jeden řádek a pořád to zlobí :-(

gmvasek napsal(a):

Proč má vůbec sitemap mít content-type rss+xml?

Nevím, kde jsem na to narazil, application/xml bude asi přeci jen vhodnější, každopádně změna nepomůže.

jtousek
Člen | 951
+
0
-

Ve FF zapni FireBug a podívej se na hlavičky s jakými to přijde – zda to má správný mime-type atd.

uestla
Backer | 796
+
0
-

Díky! Pomohlo. Koukl jsem na Content-type posílaný na jiných stránkách – je to až absurdní, protože je to de facto skloubenina zde omýlaného…

Toto pomohlo, věřte nevěřte:

{contentType application/xml; charset=utf-8}

(ano, opravdu bez uvozovek)

Takže díky za nápady a postřehy.

Michalek
Člen | 210
+
0
-

Fakt že jo! Řešil jsem to týden, zkoumal hlavičky, porovnával s funkčníma nic… Tohle pomohlo :) Díky.

Endrju
Člen | 147
+
0
-

No konečně jsem narazil na řešení, které bych fakt nečekal. Také používám komponentu RssControl a dnes při aktualizaci IE na IE9 jsem zjistil, že v tomto prohlížeči to pouze nabízí soubor ke stažení. Zkoušel jsem jiná řešení, upravoval samotnou komponetu, zkoumal jsem zda se nějak nezměnilo samotné makro {contentType ?}, ale tam žádná užitečná ukázka nebyla a nakonec jsem našel tady, že nekomu fungovalo změnit parametry makra z

{contentType 'application/rss+xml', 'utf-8'}

na

{contentType application/xml; charset=utf-8}

A musím potvrdit, že funguje také:

{contentType application/rss+xml; charset=utf-8}

Když jsem pak zkoumal co za hlavičky to generuje a příjímá, tak přijatý typ byl v uvozovkách:

Content-Type:	'application/rss+xml'; 'utf-8'

A všechny ostatní parametry nebyly. Samotného by mě to jen tak bohužel nenapadlo, takže moc děkuji.