TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

tt_news readmore Link "a"-Tag mit Klasse


Autor Nachricht
Verfasst am: 06. 05. 2012 [20:04]
timmy2007
Themenersteller
Dabei seit: 04.01.2007
Beiträge: 426
Wie kann ich im tt_news Template-List den Readmorelinkbutton mit einem a-Tag-Attribut und dazugehöriger Klasse angeben?

Mein Quellcode soll durch Typoscript so aussehen:
HTML
<a href="single.html" class="learnmore">Read More</a>


Im TSREF steht zwar wie man mit parseFunc und den Parametern einen Link eine Klasse zu sprechen kann:

ZITAT: Klasse
Wenn Sie einen "dritten" Parameter (mit einem Leerzeichen abgetrennt) angeben, wird dieser Wert zum class-Attribut des Links. Dieser Klassen-Parameter wird vor den Werten von ».ATagParams in den Link-Tag eingefügt. Das bedeutet (zumindest beim MSIE), dass diese Klasse jede in ».ATagParams gesetzte Klasse überschreibt.

Beispiele von Multiparametern:
Wenn dieser parameter-Wert an die Funktion geleitet wird,...
51 _blank blueLink
...wird das einen derartigen Link erzeugen:
<A href="?id=51" target="_blank" class="blueLink">
ZITAT ENDE

Es muss doch eine Möglichkeit mit Typoscript geben oder?
Profil
Verfasst am: 06. 05. 2012 [23:53]
LuP
Dabei seit: 12.04.2007
Beiträge: 491
Hallo,

Leider hat tt_news ATagParams für den more-Link nicht vorgesehen.
Über einen kleinen Umweg kann man dennoch den Link zusammenbauen und die gewünschte Klasse per TS setzen:
TYPOSCRIPT
page.5 = LOAD_REGISTER
page.5 {
    readmore.cObject = TEXT
    readmore.cObject {
      value = Read more
      lang.de = Weiterlesen
    }
}
 
plugin.tt_news {
    displayList {
        subheader_stdWrap >
        subheader_stdWrap {
            stripHtml = 1
            crop = 230 | ... | 1
            ifEmpty.field = bodytext
            append = TEXT
            append.data = register:newsMoreLink_url
            append.dataWrap = <span class="news-list-morelink"><a class="learnmore" href="|" title="{field:title}">{register:readmore}</a></span>
	    append.if.isTrue.field = bodytext
        }
    }
}

VG,
LuP
Profil
Verfasst am: 07. 05. 2012 [13:47]
timmy2007
Themenersteller
Dabei seit: 04.01.2007
Beiträge: 426
Danke für den Code. Dieser funktioniert, ABER nun werden beide "Read more" Links angegeben, der formartierte und der unformartierte Button. Habe eine Grafik als Anhag beigefügt.

Wie kann ich den unteren nicht formartierten Button so, wie ich es brauche, formatieren und den Button, der sich direkt am Text anhängt, löschen?

Kleines Update:

Wenn ich anstatt "subheader_stdWrap" nun "subheader_stdWrap.append" eingebe, geht mir er "erste" und formartierte Button verloren. Der zweite bleibt stehen. Kann man den zweiten Button auch formatieren? Oder kann man den ersten Button an die Stelle des zweiten Buttons rücken?

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 07.05.2012 um 13:56.]
Dateianhang

test-screen-1.jpg (Typ: image/jpeg, Größe: 12.05 Kilobyte) — 55 mal heruntergeladen
Profil
Verfasst am: 07. 05. 2012 [14:04]
timmy2007
Themenersteller
Dabei seit: 04.01.2007
Beiträge: 426
Um den zweiten Read-More Button zu entfernen habe ich das in der tt_news HTML Vorlage entfernt.

Um den formartierten Button nun in die gewünschte Position zu bringen, habe ich nun den TS Code folgendermaßen ein ganz wenig geändert:

TYPOSCRIPT
page.5 = LOAD_REGISTER
page.5 {
    readmore.cObject = TEXT
    readmore.cObject {
      value = Read more
      lang.de = Weiterlesen
    }
}
 
plugin.tt_news {
    displayList {
        subheader_stdWrap >
        subheader_stdWrap {
            stripHtml = 1
            crop = 230 | ... | 1
            ifEmpty.field = bodytext
            append = TEXT
            append.data = register:newsMoreLink_url
            append.dataWrap = <a class="learnmore" href="|" title="{field:title}">{register:readmore}</a>
      append.if.isTrue.field = bodytext
        }


Gibt es dazu evtl. noch eine schönere Variante?
Profil