More-Link + Titel-Link nur wenn nötig wurde Beantwortet

Autor Nachricht
Verfasst am: 08.05.2008 [09:58]
Morgenthau

[Themenersteller]
dabei seit: 26.07.2007
Beiträge: 51

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

So geht's:

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:
Html4strict:Zeilennummerierung:  An / Aus

  1. <div class="news-list-morelink"><!--###LINK_ITEM###-->###MORE###<!--###LINK_ITEM###--></div>


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:
Typoscript:Zeilennummerierung:  An / Aus

  1. temp.newsMenuLinkParams = COA
  2. temp.newsMenuLinkParams {
  3.      10 = TEXT
  4.      10.field = uid
  5.      10.wrap = &tx_ttnews[tt_news]=|
  6. }
  7.  
  8. plugin.tt_news {
  9.  
  10.   # More-Link hinterm Subheader
  11.   displayList.subheader_stdWrap {
  12.    append = TEXT
  13.    append.data = register:newsMoreLink
  14.    append.wrap = <p class="morelink">|</p>
  15.    append.if.isTrue.field = bodytext
  16.    }
  17.  
  18.   # Verlinkung der Überschrift
  19.   displayList.title_stdWrap {
  20.    # Statt 39 hier die ID der Single-View-Seite angeben:
  21.    typolink.parameter = 39
  22.    typolink.additionalParams.cObject < temp.newsMenuLinkParams
  23.    typolink.parameter.if.isTrue.field = bodytext
  24.    }
  25. }


Das ist alles.
Verfasst am: 08.05.2008 [17:47]
Morgenthau

[Themenersteller]
dabei seit: 26.07.2007
Beiträge: 51

Kleine Korrektur: Die Zeile
Typoscript:Zeilennummerierung:  An / Aus

  1. append.wrap = <p class="morelink">|</p>
sollte besser
Typoscript:Zeilennummerierung:  An / Aus

  1. append.wrap = <div class="morelink">|</div>
lauten, da der Subheader bereits in p-Tags steht, und ansonsten ineinander verschachtelte p-Tags entstünden.
Verfasst am: 08.05.2008 [17:52]
SLAng


dabei seit: 20.10.2004
Beiträge: 1618

Danke, wird man sicher mal gebrauchen können.

Nichts wissen ist schlecht, nichts wissen wollen ist eine Katastrophe!
Verfasst am: 09.05.2008 [14:04]
Morgenthau

[Themenersteller]
dabei seit: 26.07.2007
Beiträge: 51

Korrektur der Korrektur:

Die Zeile

Html4strict:Zeilennummerierung:  An / Aus

  1. append.wrap = <p class="morelink">|</p>

sollte
Html4strict:Zeilennummerierung:  An / Aus

  1. append.wrap = <span class="morelink">|</span>

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.




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.