Mehrere RSS Feeds und Realurl

  • 0 x
    101 Beiträge
    0 Hilfreiche Beiträge
    29. 05. 2009, 17:51

    Hallo Leute

    Ich habe einen RSS Feed, der funkt wunderbar:
    [url]www.infoklick.ch/rss.xml[/url]

    Nun möchte ich einen 2. Feed erstellen, das gelang mir auch mit Hilfe von [TS]10.categorySelection = 4
    10.categoryMode = 1[/TS]

    Beispiel:
    [url]http://infoklick.ch/index.php?id=2123&type=100[/url]
    Das ist für die News von der Kategorie Basel.

    In der localconfig steht
    [TS]'rss.xml' => array(
    'keyValues' => array(
    'type' => 100,
    ),[/TS]

    Wenn ich aber nun die Basel-Seite mit ihrem RealUrl Namen aufrufe, [url]http://infoklick.ch/rssbasel.xml[/url](das ist die Seite 2123 von oben), dann kommen leider alle Kategorien (wie bei rss.xml).

    Habe 2 Stunden recherchiert, bin aber nicht weitergekommen. :'(
    Ich denke es, hat mit RealUrl zu tun, oder in welche Richtung muss ich den Fehler suchen?

    Danke für eure Hilfe und Tipps!


  • vixe vixe
    Sternenflotten-Admiral
    0 x
    164 Beiträge
    0 Hilfreiche Beiträge
    02. 06. 2009, 17:07

    Hallo soundstorm,

    bisher hast du ja nur lediglich folgende auf Feeds bezogene RealURL - Config:

    1. 'rss.xml' => array(
    2. 'keyValues' => array(
    3. 'type' => 100,
    4. ),

    D.h. es wird nun alles was mit type=100 in der URL matcht auf rss.xml umgemünzt bzw. auch andersrum. Du brauchst also noch ein Unterscheidungskriterium entweder die PID oder falls vorhanden eine News-Kategorie-ID o.ä., falls der 2. Feed auch über type=100 angesprochen wird. Wie sieht den der Aufruf ohne RealURL für den 2. Feed aus.

    Grüße

  • 0 x
    101 Beiträge
    0 Hilfreiche Beiträge
    02. 06. 2009, 17:21

    Ciao Vixe

    Danke für deine Hilfe.

    Also, den 2. Aufruf habe ich angegeben:
    infoklick.ch/index.php?id=2123&type=100
    Der Link würde funktionieren, ich hätte aber gerne DATEI.rss...
    :o

    Kann ich den einen anderen pagetype angeben? Dachte halt 100 ist vorgegeben von tt_news für xml Feeds?
    Eigentlich sind es nur Kategorien, ja. Aber ich weiss wirklich nicht, wie ich das per RealUrl ansprechen könnte...

  • vixe vixe
    Sternenflotten-Admiral
    0 x
    164 Beiträge
    0 Hilfreiche Beiträge
    02. 06. 2009, 17:49

    Hi nochmal,

    ah hab ich irgendwie überlesen, dachte das war der Aufruf für den 1. Feed. :o
    Du musst nicht zwingend den Wert für den "pagetype" ändern (was aber sicherlich gehen sollte). Es reicht vielleicht aus, die RealURL - Config so anzupassen (die PID unter "'id' => '...'" muss natürlich auf den 1. Feed angepasst werden):

    1. 'rss.xml' => array (
    2. 'keyValues' => array (
    3. 'id' => ' => '...',
    4. 'type' => '100',
    5. ),
    6. ),
    7. 'datei.xml' => array (
    8. 'keyValues' => array (
    9. 'id' => ' => '2123',
    10. 'type' => '100',
    11. ),
    12. ),

    Funzt allerdings nur wenn sich die PIDs der Feeds unterscheiden und getestet hab ich es auch nicht.

    Grüße

  • 0 x
    101 Beiträge
    0 Hilfreiche Beiträge
    02. 06. 2009, 18:11

    Ok, habs probiert:

    [TS]'rss.xml' => array(
    'keyValues' => array(
    'id' => '581',
    'type' => 100,
    ),
    ),

    'rssbasel.xml' => array(
    'keyValues' => array(
    'id' => '2123',
    'type' => 100,
    ),
    ),
    [/TS]
    (Bei deinem Code war was doppelt, gab Fehler, also habe ich etwas gekürzt)

    Hat leider nicht funktioniert:
    http://infoklick.ch/rss.xml (seite 581)
    http://infoklick.ch/rssbasel.xml (seite 2123)

    Basel zeigt immer noch alles an, obwohl 2123 richtig knofiguriert ist:
    [url]infoklick.ch/index.php?id=2123&type=100[/url]

    Was ich nicht verstehe, wieso kann man die Seite nicht einfach so aufrufen, wie sie heisst? Die Seiten heissen drum wirklich auch so (rss + rssbasel). wenn ich also rssbasel.xml aufrufe, sollte einfach die seite aber mit pagetype 100 ausgeben werden, wie es in der RealURL steht...
    [url]http://infoklick.ch/rssbasel/[/url] und [url]http://infoklick.ch/rss/[/url] geht ja auch. #paralyzed# Aber irgendwo mach ich einen Denkfehler wahrscheinlich.

  • vixe vixe
    Sternenflotten-Admiral
    0 x
    164 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2009, 09:33

    Hallo soundstorm,

    poste doch mal bitte Deine gesamte RealURL - Config.

    Gruß

  • 0 x
    101 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2009, 11:09

    Hey Vixe!

    Danke dass du dir die Zeit nimmst.

    Schäme mich zwar für das Chaos, bin nur schon froh, dass RealUrl einigermassen funkt, also hier bitte:

    [TS]$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
    'init' => array(
    // 'useCHashCache' => '0',
    'enableCHashCache' => 1,
    'enableUrlDecodeCache' => 1,
    'enableUrlEncodeHash' => 1,
    'appendMissingSlash' => 'ifNotFile',
    ),

    'pagePath' => array(
    'type' => 'user',
    // 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    // 'userFunc' => 'fileadmin/scripts/class.tx_realurl_jk.php:&tx_realurl_advanced->main',
    'userFunc' => 'EXT:aoe_realurlpath/class.tx_aoerealurlpath_pagepath.php:&tx_aoerealurlpath_pagepath->main',
    // 'excludeDoktypes' => array(5,254),
    // 'excludeUids' => array( 6), //pageIds die im Pfad nicht angezeigt werden
    'spaceCharacter' => '-',
    'segTitleFieldList'=>'alias,tx_aoerealurlpath_overridesegment,nav_title,title,subtitle',
    // 'languageGetVar' => 'L',
    'expireDays' => 3,
    'rootpage_id' => '1'
    ),

    'fixedPostVarSets' => array(
    ),

    'postVarSets' => array(
    '_DEFAULT' => array(
    'action' => array(
    array(
    'GETvar' => 'tx_ablinklist_pi1[action]',
    'valueMap' => array(
    'show-category' => 'getviewcategory',
    'propose-a-new-link' => 'getviewaddnewlink',
    'open-link' => 'getviewclickedlink',
    'show-details-for-link' => 'getviewdetailsforlink',
    'report-broken-link' => 'getviewreportbrokenlink',
    'rate-link' => 'getviewratelink',
    ),
    ),
    ),




    //// STart Cal
    'cal'=> array(
    array(
    'GETvar' => 'tx_cal_controller[type]'
    ),
    array(
    'GETvar' => 'tx_cal_controller[view]'
    ),
    array(
    'GETvar' => 'tx_cal_controller[getdate]'
    ),
    array(
    'GETvar' => 'tx_cal_controller[gettime]'
    ),
    array(
    'GETvar' => 'tx_cal_controller[lastview]'
    ),

    array(
    'GETvar' => 'tx_cal_controller[uid]',
    'lookUpTable' => array(
    'table' => 'tx_cal_event',
    'id_field' => 'uid',
    'alias_field' => 'title',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '_',
    ),
    ),
    ),
    array(
    'condPrevValue' => '2',
    'GETvar' => 'tx_cal_controller[gettime]'
    ),
    array(
    'condPrevValue' => '2',
    'GETvar' => 'tx_cal_controller[preview]'
    ),

    ),

    ////Ende Cal

    'category' => array(
    array(
    'GETvar' => 'tx_ablinklist_pi1[category_uid]',
    'valueMap' => array(
    'home' => '0',
    ),
    'lookUpTable' => array(
    'table' => 'tx_ablinklist_category',
    'id_field' => 'uid',
    'alias_field' => 'label',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    ),
    'link' => array(
    array(
    'GETvar' => 'tx_ablinklist_pi1[uid]',
    'lookUpTable' => array(
    'table' => 'tx_ablinklist_link',
    'id_field' => 'uid',
    'alias_field' => 'label',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),

    ),

    // array(
    // 'GETvar' => 'cHash',
    // ),

    // 'pointer' => array(
    // array(
    // 'GETvar' => 'tx_ablinklist_pi1[pointer]',
    // ),
    // ),




    //NEWS///

    // 'browse' => array (
    // array (
    // 'GETvar' => 'tx_ttnews[pointer]',
    // ),
    // ),
    'select' => array (
    array (
    'GETvar' => 'tx_ttnews[cat]',
    'lookUpTable' => array (
    'table' => 'tt_news_cat',
    'id_field' => 'uid',
    'alias_field' => 'title',
    'addWhereClause'=> 'AND NOT deleted',
    'useUniqueCache'=> 1,
    'useUniqueCache_conf' => array (
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    ),



    'article' => array(



    // array (
    // 'GETvar' => 'tx_ttnews[backPid]',
    // ),



    array(
    'GETvar' => 'tx_ttnews[year]',
    ),
    array(
    'GETvar' => 'tx_ttnews[month]' ,
    ),
    array(
    'GETvar' => 'tx_ttnews[day]',
    ),




    array (
    'GETvar' => 'tx_ttnews[tt_news]',
    'lookUpTable' => array (
    'table' => 'tt_news',
    'id_field' => 'uid',
    'alias_field' => 'title',

    // 'maxLength' => 12,
    'addWhereClause'=> 'AND NOT deleted',
    'useUniqueCache'=> 1,
    'useUniqueCache_conf' => array (
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    ),
    ),
    ),

    'preVars' => array(

    // array(
    // 'GETvar' => 'no_cache',
    // 'noMatch' => 'bypass',
    // ),
    ),

    'fileName' => array (
    'defaultToHTMLsuffixOnPrev' => 0,
    'index' => array(
    'page.html' => array(
    'keyValues' => array (
    'type' => 1,
    ),
    ),

    'rss.xml' => array(
    'keyValues' => array(
    'id' => '581',
    'type' => 100,
    ),
    ),

    'rssbasel.xml' => array(
    'keyValues' => array(
    'id' => '2123',
    'type' => 100,
    ),
    ),


    ),
    ),

    );[/TS]

    Hoffe, du erkennst was, wen nicht räum ich ein wenig auf... :D

  • vixe vixe
    Sternenflotten-Admiral
    0 x
    164 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2009, 16:55

    Hi soundstorm,

    habe mir deine RealURL-Config angeschaut, selbst mal etwas rumgetestet und nochmal die Doku durchstöbert und bin zu dem Schluss gekommen, dass meine vorgeschlagene Lösung (war auch nur 'ne Theorie :o ) so nicht funktionieren kann.

    Die Angabe zum fileName dienen nur zur Codierung / Mapping der URL-GET-Params in bestimmte Dateinamen und nicht andersrum. D.h. der Aufruf von rss.xml sorgt nun dafür, dass im Hintergrund quasi type=100 gesetzt wird (zumindestens würde ich das nun laut Doku und Tests so interpretieren).

    Da nun beide XML - Feeds über den gleichen pagetype angesprochen werden, greift bei Dir immer der zuerst konfigurierte und somit landet der Aufruf der rssbasel.xml immer bei rss.xml.

    Mir fällt nun momentan leider nur die Lösung ein, für den 2. Feed einen weiteren pagetype zu definieren.

    Viele Grüße

  • 0 x
    101 Beiträge
    0 Hilfreiche Beiträge
    03. 06. 2009, 17:45

    Hey Vixe! Danke für deine Mühe! War ne coole Idee! :)

    Ja genau, ***.xml veranlasst Pagetype 100 zu nehmen. Aber genau deswegen müsste man doch die Config so machen können, dass wenn ich XML anhänge, pagetype 100 genommen wird, EGAL welche Seite ich aufrufe....

    Also, ich meine die Seite infoklick.ch/rss/ und infoklick.ch/rssbasel/ kann ich ja aufrufen und wird mit dem Pagetype 1 ausgegeben. Jetzt hänge ich ein XML dran (also eben rss.xml oder rssbasel.xml) und so sollte 100 genommen werden.

    Also wie bei normalen Seiten:
    [TS]#
    'fileName' => array (
    'defaultToHTMLsuffixOnPrev' => 0,
    'index' => array(
    'page.html' => array(
    'keyValues' => array (
    'type' => 1,
    ),
    ), [/TS]
    So sollte doch das klappen, tut es aber nicht:
    [TS]#
    'fileName' => array (
    'defaultToHTMLsuffixOnPrev' => 0,
    'index' => array(
    'page.html' => array(
    'keyValues' => array (
    'type' => 1,
    'page.xml' => array(
    'keyValues' => array (
    'type' => 100,
    ),
    ), [/TS]

    Ich versuche mal mit nem anderen Pagetype. Hoffe, das das der TT_News egal ist...

  • vixe vixe
    Sternenflotten-Admiral
    0 x
    164 Beiträge
    0 Hilfreiche Beiträge
    04. 06. 2009, 09:52

    Hallo soundstorm,

    du kannst den pagetype mit 100 nur einmal auf einen bestimmten fileName (wie z.B. rss.xml) "mappen". Du könntest die fileName - Eigenschaft "defaultToHTMLsuffixOnPrev" dahingehend anpassen, dass das letzte Pfad-Segment als Dateiname behandelt wird (z.B. http://www.infoclic.ch/svizzera-italiana/ wird http://www.infoclic.ch/svizzera-italiana.html). Dies gilt dann aber generell für alle Pages und da du für die Endung .xml hier eine Sonderbehandlung brauchst, geht das nur mit einem exklusiv definierten fileName (aus meiner Sicht).

    Viele Grüße