Uwaga! Od sierpnia 2017 forum jest w trybie tylko do odczytu.

Dlaczego? Dlatego, że społeczność TYPO3 przeniosła się na slack'a i stackoverflow:
  • Przeczytaj artykuł wprowadzający do slacka, w którym dowiesz gdzie i jak się zarejestrować.
  • Jeżeli masz pytania odnośnie Polskiej Społeczności TYPO3 zapraszamy na kanał slack'a #community-pl. Rozmawiamy tam w języku polskim.
  • Pytania dotyczące samego TYPO3 zadawaj po angielsku na stackoverflow oznaczając je tagiem "typo3". Następnie posługując się linkiem do tego pytania postaraj się zachęcić ludzi z kanału slack'a #typo3-cms lub bardziej pasujących kanałów tematycznych, żeby na nie odpowiedzieli.
  • Możesz też oczywiście zadawać pytania na slacku bez zakładania wątków na stackoverflow, ale wówczas wiedza ta nie jest indeksowana przez googla i część osób nie będzie chciała Ci z tego powodu pomagać.
  • Dla części osób dzielących się wiedzą ważne jest też budowanie reputacji na stackoverflow. Jest to kolejny powód dla którego powinieneś zadawać pytania na stackoverflow by zwiększyć swoje szanse na znalezienie odpowiedzi. Pamiętaj, żeby oceniać odpowiedzi!
Forum » TYPO3 » Ogólne
Tematy bez nowych odpowiedzi

Problem z kanałem RSS


Autor Wiadomość
Napisane: 27.03.2014 [15:52]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
Na początku chciałem wrzucić ten temat do działu "Newsy (tt_news...)" ale mój problem raczej wynika z czegoś innego. Ale od początku.

Mam instalację Typo3 z kilkoma serwisami/domenami i w jednym z nich chciałem utworzyć kanał RSS. Zainstalowałem wtyczkę "rssfeeds", skonfigurowałem wszystko zgodnie z instrukcją, newsy elegancko się zaciągają z tt_news, ale w kodzie mam błąd - nadmiarowy enter (break line) przed kodem, co jest niezgodne ze standardem i wszystko się sypie. Wygląda to tak:

HTML
[linia 1]
[linia 2]<?xml version="1.0" encoding="utf-8"?>
[linia 3]<rss version="2.0"><channel>(...)


zamiast

HTML
[linia 1]<?xml version="1.0" encoding="utf-8"?>
[linia 2]<rss version="2.0"><channel>(...)


Ku mojemu zdziwieniu okazuje się, że kody wszystkich podstron w tym konkretnym serwisie zaczynają się od entera, za to w pozostałych jest OK, tylko ta jedna gałąź drzewka coś szwankuje... Grzebię w tym już kilka dni i nie potrafię dojść dlaczego tak się dzieje. Poradźcie gdzie szukać przyczyny? Skończyły mi się już pomysły...

If it ain't broke, don't fix it!
Napisane: 27.03.2014 [23:07]
kss
zarejestrowany: 19.07.2007
Posty: 1341

Może masz w tym drzewku w "Include static from extension" TS jakiegoś dodatkowego exta?

Spróbuj deinstalować ext po excie i sprawdzać czy pomaga.

=======================================
t33k
Napisane: 28.03.2014 [08:10]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
Includuje parę "Static Templates" w roocie drzewka, ale w podstronie na której jest RSS ustawiłem sobie template strony bez żadnych includów - tylko setup dla exta odpowiedzialnego za RSS (rssfeeds). Możliwe, że on to sobie dziedziczy w jakiś sposób z template roota?



If it ain't broke, don't fix it!
Napisane: 28.03.2014 [21:53]
kss
zarejestrowany: 19.07.2007
Posty: 1341

Jeżeli w rekordzie template tej strony zaznaczysz reset dla constants i setup to nie powinien nic dziedziczyć.

=======================================
t33k
Napisane: 29.03.2014 [19:23]
kss
zarejestrowany: 19.07.2007
Posty: 1341
Ogólnie takiego typu błędy są powodowane enterem znajdującym się za tagiem zakmnięcia kodu php


PHP
<?php
 
..kod
 
?>
tutaj enter

Dlatego niektórzy nie zamykają php, tzn. usuwają ?> z końca pliku, żeby uniknąć błędów tego typu.



=======================================
t33k
Napisane: 01.04.2014 [14:18]
artur2000
zarejestrowany: 09.12.2008
Posty: 65
Szukanie problemu tak jak zasugerowal kss (deinstalowanie ext-ow jeden po drugim) jest moim zdaniem najlepsza opcja ale moze byc mozolne. Dobrze jest tutaj zastosowac "Metode równego podziału", czyli zdeinstalowac polowe extow, sprawdzic i w zaleznosci od efektu dzielic dalej juz tylko ta polowe lub sprawdzic druga polowe instalujac spowrotem pierwsza. Wtedy moze byc szybciej icon_smile.gif

W Twoim przypadku jednak poszedlbym na skroty i dorobil XCLASS pluginu rssfeed nadpisujac metode "tx_rssfeeds_pi1::main" w nastepujacy sposob:

PHP
function main($content, $conf)    {
 
    $rss_feed = parent::main($content, $conf);
 
    // wyczyscic calkowicie output buffer z nadmiarowym enterem miejmy nadzieje
    ob_clean(); 
 
    return $rss_feed;
 
}


Jesli masz szczescie to ten enter wpada przed wywolaniem metody main i w ten sposob sie go pozbedziesz.





[Ten temat był edytowany 2 razy. Ostatnio 01.04.2014 o 14:22.]

Certified Level 2 TYPO3 Night Crew Member
Napisane: 03.04.2014 [09:19]
porno88
Twórca tematu
zarejestrowany: 08.11.2010
Posty: 24
artur2000: Miałem taką straszną nadzieję, że to zadziała, ale niestety...

Za to doświadczalnie wpisałem sobie

PHP
echo 'test';


na początku funkcji "main" i ten test pojawił się w pierwszej linii, a znaczniki XML poniżej... Zastanawiam się czy to może oznaczać, że mam gdzieś buga? A może któraś z core'owych funkcji robi mi psikus?

Ostatecznie mogę po prostu echem wrzucać znacznik otwierający XML (będzie pojawiał się na górze), a resztę funkcją main - mało to eleganckie, ale prawdopodobnie problem rozwiąże.

[Ten temat był edytowany 1 razy. Ostatnio 03.04.2014 o 09:19.]

If it ain't broke, don't fix it!