More-Link + Titel-Link nur wenn nötig [Gelöst]

  • Morgenthau Morgentha...
    Sternenflotten-Admiral
    0 x
    155 Beiträge
    0 Hilfreiche Beiträge
    08. 05. 2008, 09:58

    Hallo,

    nachdem ich hier eine Menge Fragen gestellt habe, möchte ich auch mal eine Lösung präsentieren.

    Mein Ziel war es, in der List-Ansicht den Titel der einzelnen News-Beiträge nur dann zu verlinken, und auch nur dann einen More-Link anzuzeigen, wenn zusätzlich zum Subheader (Teaser) auch Nachrichtentext eingegeben wurde. Der Sinn der Sache ist, dass bei sehr kurzen Meldungen, die nur aus ein paar Sätzen im Subheader bestehen, kein Link erscheint, denn der führt dann auf eine Single-Ansicht, die keine weiteren Infos bietet.

    Ich bin zwar im Netz auf Lösungen gestoßen, den More-Link nur bei Bedarf einzublenden, für den Titel habe ich aber nicht so richtig was gefunden. Ich habe es mir daher aus diesen beiden Beiträgen selbst zusammengebastelt:
    http://lists.netfielders.de/pipermail/typo3-german/2007-March/029123.html
    http://www.rs-websystems.de/typo-3/tipps-tricks/typoscript-snippets/tt-news-im-menu-anzeigen.html

    [b]So geht's:[/b]

    Zunächst im News-Template unter ###TEMPLATE_LIST### die beiden <!--###LINK_ITEM###-->-Marker, die vor und hinter ###NEWS_TITLE### stehen, entfernen. Außerdem folgende Zeile löschen:
    [HTML]<div class="news-list-morelink"><!--###LINK_ITEM###-->###MORE###<!--###LINK_ITEM###--></div>[/HTML]

    Damit ist in der List-Ansicht die Überschrift nicht mehr verlinkt und der More-Link entfernt.

    Jetzt im Setup des Website-Templates folgenden Code einfügen:
    [TS]temp.newsMenuLinkParams = COA
    temp.newsMenuLinkParams {
    10 = TEXT
    10.field = uid
    10.wrap = &tx_ttnews[tt_news]=|
    }

    plugin.tt_news {

    # More-Link hinterm Subheader
    displayList.subheader_stdWrap {
    append = TEXT
    append.data = register:newsMoreLink
    append.wrap = <p class="morelink">|</p>
    append.if.isTrue.field = bodytext
    }

    # Verlinkung der Überschrift
    displayList.title_stdWrap {
    # Statt 39 hier die ID der Single-View-Seite angeben:
    typolink.parameter = 39
    typolink.additionalParams.cObject < temp.newsMenuLinkParams
    typolink.parameter.if.isTrue.field = bodytext
    }
    }[/TS]

    Das ist alles.


  • 1
  • Morgenthau Morgentha...
    Sternenflotten-Admiral
    0 x
    155 Beiträge
    0 Hilfreiche Beiträge
    08. 05. 2008, 17:47

    Kleine Korrektur: Die Zeile [TS]append.wrap = <p class="morelink">|</p>[/TS] sollte besser [TS]append.wrap = <div class="morelink">|</div>[/TS] lauten, da der Subheader bereits in p-Tags steht, und ansonsten ineinander verschachtelte p-Tags entstünden.

  • SLAng SLAng
    Flash Gordon
    0 x
    2757 Beiträge
    0 Hilfreiche Beiträge
    08. 05. 2008, 17:52

    Danke, wird man sicher mal gebrauchen können.

  • Morgenthau Morgentha...
    Sternenflotten-Admiral
    0 x
    155 Beiträge
    0 Hilfreiche Beiträge
    09. 05. 2008, 14:04

    Korrektur der Korrektur:

    Die Zeile

    [HTML]append.wrap = <p class="morelink">|</p>[/HTML]
    sollte [HTML]append.wrap = <span class="morelink">|</span>[/HTML]
    lauten.

    Zumindest bei XHTML 1.0 Transitional darf weder ein p-Tag noch ein div-Tag innerhalb eines mit p-Tags umschlossenen Bereichs stehen. Daher span.

  • burcardo burcardo
    Padawan
    0 x
    60 Beiträge
    0 Hilfreiche Beiträge
    16. 08. 2008, 17:29

    Im Prinzip gut aber der Chash wird so nicht übergeben wenn der Titel verlinkt ist.
    Un dann wird bei mehreren News in der Listenansicht immer nur die Erste in der Singelansicht ausgegeben.

  • Morgenthau Morgentha...
    Sternenflotten-Admiral
    0 x
    155 Beiträge
    0 Hilfreiche Beiträge
    16. 08. 2008, 19:56

    [quote="burcardo"]
    Im Prinzip gut aber der Chash wird so nicht übergeben wenn der Titel verlinkt ist.
    Un dann wird bei mehreren News in der Listenansicht immer nur die Erste in der Singelansicht ausgegeben.
    [/quote]
    Das verstehe ich nicht.
    In der Listenansicht befinden sich mehrere News. Einige davon sind verlinkt. Wenn man sie anklickt, landet man bei der entsprechenden Singleansicht. So funktioniert's jedenfalls bei mir.

  • 1