News (tt news): Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 16: Zeile 16:
  
 
== Snippets ==
 
== Snippets ==
 +
=== Metatags für Title und Description ===
 +
Titel und Description anpassen für Single Ansicht (Title funktioniert mit neuern Versionen automatisch)
 +
<syntaxhighlight lang="php">
 +
# SEO Headeranpassung auf der News-Detailseite
 +
[globalVar = TSFE:id={$plugin.tt_news.singlePid}]
 +
page{
 +
  headerData{
 +
    1 = RECORDS
 +
    1{
 +
      source = {GPvar:tx_ttnews|tt_news}
 +
      source.insertData = 1
 +
      tables = tt_news
 +
      field = title
 +
      conf.tt_news >
 +
      conf.tt_news = TEXT
 +
      conf.tt_news.field = title
 +
    }
 +
  }
 +
}
 +
[end]
 +
Und anschließend die Anpassung der Keywords, sowie der Description (aus dem Untertitel der News und auf 150 Zeichen gekürzt):
 +
 +
# SEO Headeranpassung auf der News-Detailseite
 +
[globalVar = TSFE:id={$plugin.tt_news.singlePid}]
 +
page{
 +
  meta{
 +
    keywords.field >
 +
    description >
 +
    keywords.data = register:newsKeywords
 +
description.data = register:newsSubheader
 +
description.crop = 150 | ... | 1
 +
  }
 +
}
 +
[end]
 +
</syntaxhighlight>
 
=== tt_news Bilder an unterschiedlichen Positionen ausgeben ===
 
=== tt_news Bilder an unterschiedlichen Positionen ausgeben ===
 
http://blog.sbtheke.de/web-development/typo3/bilder-in-tt_news-detailansicht-in-unterschiedlichen-markern-und-groessen
 
http://blog.sbtheke.de/web-development/typo3/bilder-in-tt_news-detailansicht-in-unterschiedlichen-markern-und-groessen
Zeile 281: Zeile 316:
 
</pre>
 
</pre>
  
== Beispielkonfiguration hb-tech (Tabellenfrei) ==
+
== Beispielcode aus baum-und-garten.de ==
 +
Detailseite...
 +
<syntaxhighlight lang="typoscript">
 +
# Wenn keine Nachrichten ID übermittelt, dann Listenansicht...
 +
# pruefen, ob die GET-Variable [tt_news] gesetzt und kleiner als 1 ist
 +
[globalVar = GP:tx_ttnews|tt_news < 1]
 +
  # dann mach mir eine 301-Weiterleitung auf meine News-Listenansicht
 +
  config.additionalHeaders = HTTP/1.0 301 Permanent Redirect | Location: http://www.baum-und-garten.de/news.html
 +
# fertig!
 +
[global]
 +
 
 +
# Bilder auf einzelne Marker verteilen...
 +
plugin.tt_news.displaySingle {
 +
  imageMarkerOptionSplit = 1|*|2
 +
}
 +
 
 +
# Nachrichtentitel in Title Tag ##
 +
config.titleTagFunction >
 +
# [globalVar = TSFE:id = {$newsSinglePid}]
 +
 
 +
temp.newsTitle = COA
 +
temp.newsTitle {
 +
  10 = RECORDS
 +
  10 {
 +
    source = {GP:tx_ttnews|tt_news}
 +
    source.insertData = 1
 +
    tables = tt_news
 +
    conf.tt_news >
 +
    conf.tt_news = TEXT
 +
    conf.tt_news.field=title
 +
    conf.tt_news.stdWrap.trim = 1
 +
    conf.tt_news.stdWrap.htmlSpecialChars = 1
 +
    conf.tt_news.stdWrap.cropHTML = 64|...
 +
    wrap = <title>|</title>
 +
   
 +
   
 +
 
 +
  }
 +
}
 +
 
 +
page.config.noPageTitle = 2
 +
page.headerData.15 >
 +
page.headerData.15 < temp.newsTitle
 +
# [global]
 +
 
 +
temp.newsDescription = COA
 +
temp.newsDescription {
 +
  10 = RECORDS
 +
  10 {
 +
    source = {GP:tx_ttnews|tt_news}
 +
    source.insertData = 1
 +
    tables = tt_news
 +
    conf.tt_news >
 +
    conf.tt_news = TEXT
 +
    conf.tt_news.field=short
 +
    conf.tt_news.stdWrap.trim = 1
 +
    conf.tt_news.stdWrap.htmlSpecialChars = 1
 +
    conf.tt_news.stdWrap.cropHTML = 500|...
 +
 
 +
    wrap = <meta name="description" content="|">
 +
  }
 +
}
 +
page.headerData.16 >
 +
page.headerData.16 < temp.newsDescription
 +
#Metatags für tt_news single ansicht
 +
#page.meta.description >
 +
#page.meta.description < temp.newsTitle
 +
#page.meta.description.data = register:newsSubheader
 +
#page.meta.keywords >
 +
#page.meta.keywords = TEXT
 +
#page.meta.keywords.data = register:newsKeywords
 +
 
 +
</syntaxhighlight>
 +
== Beispielkonfiguration hb-tech (Tabellenfrei) OLD ==
 
Nicht vergessen
 
Nicht vergessen
 
* Damit die Kategorien gefunden werden muß in einer Seite unterhalb der News-Plugins die General record storage ID angegeben werden damit sie gefunden werden. Alternativ kann man useStoragePid = 0 setzen. Oder direkt in den Einstellungen des News Plugin deaktivieren (Extension Modul)
 
* Damit die Kategorien gefunden werden muß in einer Seite unterhalb der News-Plugins die General record storage ID angegeben werden damit sie gefunden werden. Alternativ kann man useStoragePid = 0 setzen. Oder direkt in den Einstellungen des News Plugin deaktivieren (Extension Modul)
Zeile 625: Zeile 733:
  
 
</nowiki></pre>
 
</nowiki></pre>
 
  
 
== Weitere Tricks für tt_news ==
 
== Weitere Tricks für tt_news ==

Aktuelle Version vom 6. September 2017, 17:42 Uhr

Kurzanleitung[Bearbeiten]

Ausführliche Anleitung auf Typo3.org:

http://typo3.org/documentation/document-library/extension-manuals/tt_news/current/view/

TS-Config Referenz:

http://typo3.org/documentation/document-library/extension-manuals/tt_news/current/view/1/4/


  • Extension installieren
    • Wichtig! In der neueren Version 2 müssen erst die Statischen Templates im Haupttemplate eingebunden werden (je nachdem ob Tabellen oder CSS basiert gibt es verschiedene)
  • Ort für die Speicherung der Datensätze (z.B. Ordner) anlegen
  • Plugin als Seitenelement anlegen (List, Single, Archiv...)
    • Pflichtkonfiguration: Ausgangspunkt,

Snippets[Bearbeiten]

Metatags für Title und Description[Bearbeiten]

Titel und Description anpassen für Single Ansicht (Title funktioniert mit neuern Versionen automatisch)

# SEO Headeranpassung auf der News-Detailseite
[globalVar = TSFE:id={$plugin.tt_news.singlePid}]
page{
  headerData{
    1 = RECORDS
    1{
      source = {GPvar:tx_ttnews|tt_news}
      source.insertData = 1
      tables = tt_news
      field = title
      conf.tt_news >
      conf.tt_news = TEXT
      conf.tt_news.field = title
    }
  }
}
[end]
Und anschließend die Anpassung der Keywords, sowie der Description (aus dem Untertitel der News und auf 150 Zeichen gekürzt):

# SEO Headeranpassung auf der News-Detailseite
[globalVar = TSFE:id={$plugin.tt_news.singlePid}]
page{
  meta{
    keywords.field >
    description >
    keywords.data = register:newsKeywords
		description.data = register:newsSubheader
		description.crop = 150 | ... | 1
  }
}
[end]

tt_news Bilder an unterschiedlichen Positionen ausgeben[Bearbeiten]

http://blog.sbtheke.de/web-development/typo3/bilder-in-tt_news-detailansicht-in-unterschiedlichen-markern-und-groessen

Über OptionSplit kann man an vielen Stellen tt_news Eigenschaften auf mehrere Marker verteilen

plugin.tt_news.displaySingle {
  imageMarkerOptionSplit = 1|*|2
  image.file.maxW = {$plugin.tt_news.singleMaxW}|*|100
}
###NEWS_IMAGE_1###
###NEWS_IMAGE_2###

Achtung: Die Einstellung „imageMarkerOptionSplit“ wird nur beachtet, wenn die Einstellung „imageMarkerFunc“ nicht genutzt wird (z.B. Lightbox-Extensions nutzen diese gerne).

TypoScript Template[Bearbeiten]

Constants

### Grund Setup ###
plugin.tt_news.useBidirectionalRelations = 1
plugin.tt_news.useSubCategories = 1
plugin.tt_news.pid_list = 71
# Standard - Einzelansicht
plugin.tt_news.singlePid = 70
plugin.tt_news.templateFile = fileadmin/user/templates/news/news.html

### News Normal

plugin.tt_news{
    listMaxW = 116
    listMaxH = 160
    singleMaxW = 160
    singleMaxH = 160
    latestMaxW = 80
    latestMaxH = 80
    useHRDates = 1
    limit = 10
    latestLimit = 4
    showCatRootline = 0
}

plugin.tt_news.showCatRootline = 0
plugin.tt_news.useHRDates = 1

### Layout
plugin.tt_news{
#  wrap1 =
   wrap2 = <div class="teaser"> | </div>
#  color1 = 
#  color2 = 
#  color3 = 
}

Setup

### Setup ###
# Standard - Template
plugin.tt_news.templateFile = 
plugin.tt_news.templateFile = fileadmin/user/templates/news/news.html


### Standard-Ausgabe anpassen ###
plugin.tt_news._LOCAL_LANG.de.pi_list_browseresults_next = weiter 
plugin.tt_news._LOCAL_LANG.de.backToList = %s 

### PageBrowser auch in Single-Ansicht ermöglichen (Skript muß vorhanden sein) ###
#includeLibs.displayNewsBrowser = Pfad/zum/Skript/news_itemMarkerArrayFunc.php
#plugin.tt_news.itemMarkerArrayFunc = user_displayNewsBrowser

plugin.tt_news{
  limit = 6
  latestLimit = 4
  showCatRootline = 0
}


### Standard CSS rauswerfen
plugin.tt_news._CSS_DEFAULT_STYLE >
#plugin.tt_news.displaySingle.subheader_stdWrap.wrap = 

### Seitenumbruch ###
plugin.tt_news {
  useMultiPageSingleView = 1
  pageBreakToken = <break>
  maxWordsInSingleView = 300
  useParagraphAsPagebreak = 1
  subheaderOnAllSViewPages = 0
  appendSViewPBtoContent = 0
}

### Nur Inhalte der aktuellen Sprache: ###
plugin.tt_news.sys_language_mode = strict

### Bei alternierenden Layouts hier die Anzahl eingeben
#plugin.tt_news.alternatingLayouts = 4

### Datumsformat für Listenansicht
plugin.tt_news.displayList.date_stdWrap.strftime= %A %d. %B %Y 

### News Archiv ###
plugin.tt_news.enableArchiveDate=1
#plugin.tt_news.archiveTypoLink.parameter = 246

plugin.tt_news {
  archiveMode = year
  archiveTitleCObject >
  archiveTitleCObject = COA
  archiveTitleCObject {
          10 = TEXT
          10.field = start
          10.strftime = %B
          15 = TEXT
          15.value =  - 
          20 = TEXT
          20.field = stop
          20.strftime = %B %Y
  }
}

Einen Benutzer nur für das News-Modul anlegen[Bearbeiten]

Wenn man einen Benutzer anlegen will der nur die Aufgabe hat neue News einzupflegen kann man folgende Konfiguration anlegen damit der nur das nötigste sieht.

Benutzergruppe[Bearbeiten]

Modules

  • Web
    • Seite
    • Anzeigen
    • Liste
  • Datei
    • Dateiliste
    • Bilder
  • Benutzer
    • Aufgaben
    • Einstellungen

Tables (Listing)

  • Seite
  • News

Tables (Modify)

  • News

Allowed Excludefields

  • News
    • no automatic pagebreaks
    • Datum
    • Archivdatum
    • Bilder
    • Bildtext
    • Alt-Text
    • Titel Autor

Seitenrechte[Bearbeiten]

Vorgabewerte für die Flexforms (Eingabefelder im Backend)[Bearbeiten]

Nützliche Zusatz Tools[Bearbeiten]

Bessere Datumseingabe[Bearbeiten]

Probleme[Bearbeiten]

Links in tt_news funktionieren nicht[Bearbeiten]

Links werden zwar angezeigt, im Quelltext wird aber ein link Tag statt des a Tags angezeigt.

Lösung: tt_news kopiert sich die parse lib aus tt_content die in css_styled_content definiert ist. Deshalb muß css_styled_content unbedingt vor tt_news inkludiert werden (static templates). Generell ist es sinnvoll css_styled_content immer als erstes einzubinden.

Kategorien werden nicht angezeigt[Bearbeiten]

Entweder use General Record Storage Page in der Extension Einstellung deaktivieren oder in der Rootpage der Website (die Seite wo das Haupttemplate liegt) eine Definieren.


RTE fehlt, man kann keine neuen Inhaltselemente mehr anlegen.[Bearbeiten]

Lösung:

Für Typo3 V 3.7 die tt_news Version 2.2.24 einsetzten.

Nach Update der Extension und Klick auf die Single Ansicht erscheint die Fehlermeldung:

Fatal error: Call to undefined function: fullquotestr()[Bearbeiten]

in /www/htdocs/tourrt/typo3conf/ext/tt_news/pi/class.tx_ttnews.php on line 2386

Der Fehler taucht in Foren vor allem bei der realURL Extension und Typo3.7 auf. Folgendes hilft auch bei anderen Extensions

Zitat aus typo3forum.hosting-agency.de/realurl-t40.html

Hi, ich verwende Typo3 3.7.0 und hatte das gleiche Problem... die Lösung war: update der Datei: "class.t3lib_db.php" auf Version 1.10

Lösung bei tourismus-reutlingen.de war Update auf V 1.12.1.2 (aus der Typo3 V3.8.1)

Archiv in Englisch statt deutsch[Bearbeiten]

die Konfiguration auf deutsch stellen (bei multilanguage settings nicht vergessen auch ohne L-Variable die Sprache einzuschalten:

config.language = de
config.locale_all = de_DE

Pagebrowser[Bearbeiten]

Pagebrowser ab Nwsmodul V 2

Ab Version 2 hat das News Plugin einen eigenen PageBrowser. Man kann wählen ob man den Internen, den von Typo3 oder eine eigene UserFunc benutzen will. Für Typo3 V3.7 ist der aus dem Newsmodul sehr geeignet. Ab 3.8 gibt es einen guten von Typo3.

# eingebauten PageBrowser benutzen
usePiBasePagebrowser=0

Beispiel: Konifguration tourismus-reutlingen.de[Bearbeiten]

Constants

# Layout
plugin.tt_news{
wrap1 = <span class="news_title">|</div>
wrap2 = <span class="content">|</div>
color1 = #A23343
color2 =
color3 =
}

#plugin.tt_news.wrap1=<h3>|</h3>

Setup

plugin.tt_news.templateFile = fileadmin/template/news.tmpl
plugin.tt_news.showResultCount = 0
plugin.tt_news {
   _LOCAL_LANG.de {
       more =
       pi_list_browseresults_displays = Sie sehen Artikel ###SPAN_BEGIN###%s bis %s</span> von ###SPAN_BEGIN### %s</span>
   }
}

# Hier sind die News Artikel:
#plugin.tt_news.pid_list >
plugin.tt_news.pid_list = 214
plugin.tt_news.PIDitemDisplay = 255
plugin.tt_news.backPID = 254
plugin.tt_news.displaySingle.title_stdWrap.wrap = |
### News Archiv ###
plugin.tt_news.enableArchiveDate=1
plugin.tt_news.archiveTypoLink.parameter = 254

plugin.tt_news {
  archiveMode = year
  archiveTitleCObject >
  archiveTitleCObject = COA
  archiveTitleCObject {
          10 = TEXT
          10.field = start
          10.strftime = %B
          15 = TEXT
          15.value =  - 
          20 = TEXT
          20.field = stop
          20.strftime = %B %Y
  }
} 

Beispielcode aus baum-und-garten.de[Bearbeiten]

Detailseite...

# Wenn keine Nachrichten ID übermittelt, dann Listenansicht...
# pruefen, ob die GET-Variable [tt_news] gesetzt und kleiner als 1 ist
[globalVar = GP:tx_ttnews|tt_news < 1]
  # dann mach mir eine 301-Weiterleitung auf meine News-Listenansicht
  config.additionalHeaders = HTTP/1.0 301 Permanent Redirect | Location: http://www.baum-und-garten.de/news.html
# fertig!
[global]

# Bilder auf einzelne Marker verteilen...
plugin.tt_news.displaySingle {
  imageMarkerOptionSplit = 1|*|2
}

# Nachrichtentitel in Title Tag ##
config.titleTagFunction >
# [globalVar = TSFE:id = {$newsSinglePid}]

temp.newsTitle = COA
temp.newsTitle {
  10 = RECORDS
  10 {
    source = {GP:tx_ttnews|tt_news}
    source.insertData = 1
    tables = tt_news
    conf.tt_news >
    conf.tt_news = TEXT
    conf.tt_news.field=title
    conf.tt_news.stdWrap.trim = 1
    conf.tt_news.stdWrap.htmlSpecialChars = 1
    conf.tt_news.stdWrap.cropHTML = 64|...
    wrap = <title>|</title>
    
    

  }
}

page.config.noPageTitle = 2
page.headerData.15 >
page.headerData.15 < temp.newsTitle
# [global]

temp.newsDescription = COA
temp.newsDescription {
  10 = RECORDS
  10 {
    source = {GP:tx_ttnews|tt_news}
    source.insertData = 1
    tables = tt_news
    conf.tt_news >
    conf.tt_news = TEXT
    conf.tt_news.field=short
    conf.tt_news.stdWrap.trim = 1
    conf.tt_news.stdWrap.htmlSpecialChars = 1
    conf.tt_news.stdWrap.cropHTML = 500|...

    wrap = <meta name="description" content="|">
  }
}
page.headerData.16 >
page.headerData.16 < temp.newsDescription
#Metatags für tt_news single ansicht
#page.meta.description >
#page.meta.description < temp.newsTitle
#page.meta.description.data = register:newsSubheader
#page.meta.keywords >
#page.meta.keywords = TEXT
#page.meta.keywords.data = register:newsKeywords

Beispielkonfiguration hb-tech (Tabellenfrei) OLD[Bearbeiten]

Nicht vergessen

  • Damit die Kategorien gefunden werden muß in einer Seite unterhalb der News-Plugins die General record storage ID angegeben werden damit sie gefunden werden. Alternativ kann man useStoragePid = 0 setzen. Oder direkt in den Einstellungen des News Plugin deaktivieren (Extension Modul)
  • Im Main Template muß Die statische Extension css-based tmpl (tt_news) eingebunden werden.

Übersicht[Bearbeiten]

Das TypoScript Template ist extern als Basis-Template angelegt. Im Main Template wird ein zusätzliches CSS eingebunden (s.u.) Außerdem wurde ein zweites HTML-Template angelegt daß ein weiteres Layout für die Teaser auf der Startseite enthält, wenn bei einem Produkt 'Angebot' gewählt wird. Damit das funktioniert wird auf der entsprechenden Seite (in diesem Fall Home) Ein weiteres TS-Template angelegt (s.u.).

TypoScript Template[Bearbeiten]

News CSS einbinden[Bearbeiten]

#news CSS:
page.includeCSS.file1 = fileadmin/templates/news/news_css.css

TypoScript - Constants[Bearbeiten]

plugin.tt_news.pid_list = 242,243,344,245
plugin.tt_news.singlePid = 247
#plugin.tt_news.archiveTypoLink.parameter = 246
plugin.tt_news.backPid = 251
#plugin.tt_news.datetimeDaysToArchive = 30
plugin.tt_news.showCatRootline = 0
plugin.tt_news.useHRDates = 1

###News###
plugin.tt_news{

  listMaxW = 160
  listMaxH = 160

  singleMaxW = 240
  singleMaxH = 180

  latestMaxW = 80
  latestMaxH = 80

  useHRDates = 1
  #datetimeDaysToArchive = 30
  limit = 10
  latestLimit = 4
  showCatRootline = 0
}
#Konfiguration
plugin.tt_news.file.templateFile = fileadmin/templates/news/news_css.html 

# Layout
plugin.tt_news{
  wrap1 =
  wrap2 = <div class="teaser"> | </div>
  color1 = 
  color2 = 
  color3 = 
}

TypoScript - Setup[Bearbeiten]

plugin.tt_news{

  limit = 10
  latestLimit = 4
  showCatRootline = 0
}

plugin.tt_news._CSS_DEFAULT_STYLE >
plugin.tt_news.displaySingle.subheader_stdWrap.wrap = 

### Seitenumbruch ###
plugin.tt_news {
  useMultiPageSingleView = 1
  pageBreakToken = <break>
  maxWordsInSingleView = 300
  useParagraphAsPagebreak = 1
  subheaderOnAllSViewPages = 0
  appendSViewPBtoContent = 0
}



### Nur Inhalte der aktuellen Sprache: ###
plugin.tt_news.sys_language_mode = strict
[globalVar = GP:L = 1]
plugin.tt_news.displayList.date_stdWrap.strftime= %A %d. %B %Y 
[global]
### News Archiv ###
plugin.tt_news.enableArchiveDate=1
plugin.tt_news.archiveTypoLink.parameter = 246

plugin.tt_news {
  archiveMode = year
  archiveTitleCObject >
  archiveTitleCObject = COA
  archiveTitleCObject {
          10 = TEXT
          10.field = start
          10.strftime = %B
          15 = TEXT
          15.value =  - 
          20 = TEXT
          20.field = stop
          20.strftime = %B %Y
  }
} 

CSS[Bearbeiten]

Anmerkung: Die Größenangaben für Bilder müssen mit dem TypoScript - Vorgaben zusammenpassen

/*News Modul*/
#news_list_rahmen h2{
  color: #C30009;
  text-transform: uppercase;
  font-size: .9em;
  line-height: 1.2em;
  margin: 4px 0 0 0;
}
#news_list_rahmen h2 a:link, #news_list_rahmen h2 a:visited, #news_list_rahmen h2 a:hover, #news_list_rahmen h2 a:active{
  color: #C30009;	
}
#news_list_rahmen h2 span {
  color: #666;
  font-size: .9em;
  font-weight: normal;
}

#news_list_rahmen .teaser {
  width: 560px;
  padding: 12px 0;
  border-bottom: 1px solid #CCC;
}

#news_list_rahmen .bild {
  float: left;
  width: 160px;
  margin-right: 12px;
  margin-top:4px;
  text-align:left;

HTML-Template[Bearbeiten]

<nowiki>

<html><head><title>News css based template</title></head><body>

<pre><strong>Global markers, as set up in TypoScript:</strong>

These are substituted throughout the whole template.

<em>Markers:</em>
GW1B / GW1E
GW2B / GW2E
GW3B / GW3E

GC1
GC2
GC3
GC4


<strong>Common markers:</strong>
These are substituted in all news item displaying templates:

<em>Markers:</em>
NEWS_UID - ID number (uid) of the news item
NEWS_TITLE - News item title
NEWS_AUTHOR - name of author
NEWS_EMAIL - email of author
NEWS_DATE - date
NEWS_TIME - time
NEWS_AGE - age of news item in minutes, hours, days or years
NEWS_SUBHEADER - subheader, if empty main content is inserted here in LIST and LATEST
NEWS_CONTENT - main content
NEWS_LINKS - news links
NEWS_CATEGORY - news item category
NEWS_RELATED - links to related news
NEWS_IMAGE - news item images

PAGE_UID - Page id of the parent page (pid)
PAGE_TITLE - Title of the parent page of the news item
PAGE_AUTHOR - Page author, if any
PAGE_AUTHOR_EMAIL - Page author email, if any


<em>Wrapped Subparts:</em>
LINK_ITEM - link to the news item single display




TEMPLATE_LATEST

This is the template for the latest news, typically displayed on a frontpage.


###NEWS_DATE### ###NEWS_TIME###

###NEWS_TITLE###

###NEWS_IMAGE###

###NEWS_SUBHEADER###

###NEWS_DATE### ###NEWS_TIME###

###NEWS_TITLE###

###NEWS_IMAGE###

###NEWS_SUBHEADER###








TEMPLATE_LIST

###NEWS_IMAGE###

###NEWS_DATE###
###NEWS_TITLE###

###NEWS_SUBHEADER### ###MORE###

      1. BROWSE_LINKS###





TEMPLATE_SINGLE

This subpart is used to display single news items

###NEWS_DATE###

###NEWS_TITLE###

###NEWS_SUBHEADER###
###NEWS_IMAGE###

###NEWS_CONTENT###

###PAGE_AUTHOR### <a href="mailto:###PAGE_AUTHOR_EMAIL###" class="email">###PAGE_AUTHOR_EMAIL###</a>

###BACK_TO_LIST###






TEMPLATE_ARCHIVE

Subpart for the news archive menu.

  • ###ARCHIVE_TITLE### - (###ARCHIVE_COUNT###)
  • ###ARCHIVE_TITLE### - (###ARCHIVE_COUNT###)





TEMPLATE_ARCHIVE_NOITEMS

Shown if the archive has no items!


  • Es sind keine Einträge im Archiv

>





TEMPLATE_SEARCH

Subpart for the search-form.


<form class="news_search" method="post" action="###FORM_URL###"> <input size="30" maxlength="100" name="swords" value="###SWORDS###" type="text"> <input name="order" value="Search" type="submit"> </form>


</body></html>

</nowiki>

Weitere Tricks für tt_news[Bearbeiten]

http://www.rs-websystems.de/typo-3/tipps-tricks/typoscript-snippets/tt-news-im-menu-anzeigen.html

16.10.08

Cache von News Seiten automatisch löschen[Bearbeiten]

Wenn man eine News eingibt, muß man bei den Seiten in denen die News angezeigt wird den Cache löschen damit sie sofort angezeigt wird. Man kann den Cache der tt_news Seiten aber auch automatisch löschen lassen. Dazu gibt man in den Seiteneigenschaften bei den TS Optionen folgendes an:

# Löscht Seitencaches automatisch bei Neuerstellung
# oder Änderung von Newseinträgen
TCEMAIN.clearCacheCmd = 203, 7787, 82, 316, 452, 8348

Die Kommaseparierte Liste enthält die IDs der Seiten bei denen der Cache gelöscht werden soll. Dies funktioniert auch bei anderen Extensions.

Beiträge aus tt_news im Menü darstellen[Bearbeiten]

tt_news ist die wohl meist verwandte News-Extension von TYPO3. Sie bietet nahezu alles was die Ansprüche an ein modernes News-System befriedigt.

Will man jedoch die Einzel-Ansichten der Artikel im Menü auftauchen lassen, so müsste man für jeden Artikel händisch eine Seite anlegen und in diese den Datensatz einfügen. Der Vorteil einer News-Extension ist für diesen Fall nicht ersichtlich, könnte man den Artikel doch gleich in die Seite ablegen, eine automatisierte Lösung in tt_news gibt es nicht.

Hier stelle ich eine Lösung zur Verfügung, wie dieses Problem umgangen werden kann. Ein paar Zeilen TypoScript und ein TMENU kann News-Beiträge darstellen.

Das folgende Snippet ist bisher mit folgenden Versionen funktionsfähig getestet:

   TYPO3: ab Version 4.1.0
   tt_news: ab Version 2.4.0

Sollten Sie diesen Code auf anderen Versionen erfolgreich testen, bitten wir uns dies kurz mitzuteilen. Die Anpassung

Im folgenden wird das TypoScript-Snippet dargestellt, mit dem die News-Beiträge aus der Tabelle tt_news aus der entsprechenden Kategorie als Listenelemente gerendert werden.

Es müssen auf jedenfall der Speicherort der News (PID des SysOrdner), die PID der Seite mit dem Single-View Modul von tt_news sowie die anzuzeigende Kategorie angepasst werden. Wenn alle Kategorien angezeigt werden sollen oder keine Kategorien verwandt werden, die entsprechende Zeile auskommentieren.

Die typolink-Funktion die zur Generierung der Links benutzt wird, garantiert die Kompatibilität der Links zu realUrl oder SimulateStaticDocuments gerendert.

Binden Sie den folgenden Code z.B. als Extensiontemplate ein. Modul zum Rendern der Listenelemente mit tt_news Titeln

temp.newsMenuLinkParams = COA temp.newsMenuLinkParams {

    10 = TEXT
    10.field = uid
    10.wrap = &tx_ttnews[tt_news]=|
    20 = TEXT
    20.field = tstamp
    20.date = Y
    20.wrap = &tx_ttnews[year]=|
    30 = TEXT
    30.field = tstamp
    30.date = m
    30.wrap = &tx_ttnews[month]=|

}

temp.newsMenu = CONTENT temp.newsMenu {

    table = tt_news
    select {
         // Speicherort der News
         pidInList = 53 
         orderBy = tstamp DESC
         selectField = uid,tstamp,title
         // Kategorie ID der News die gelistet werden sollen
         where = uid_foreign=1
         join = tt_news_cat_mm ON (tt_news.uid=tt_news_cat_mm.uid_local)
    }     
    renderObj =  TEXT
    renderObj {

wrap =

  • |
  • // tt_news DB Feld das als Linktext benutzt werden soll field = title // Page-ID mit dem gewünschten Single View typolink.parameter = 78 typolink.additionalParams.cObject < temp.newsMenuLinkParams //Link-Klasse typolink.ATagParams = class="men-no" } } Nun muss dem Menü noch mitgeteilt werden wie und wo das Element gerendert werden soll. Dazu benutzen wir den Seitentyp Abstand. An der Stelle, an der wir die Liste der News anzeigen möchten, fügen wir eine Seite vom Typ Abstand ein. Diese wird normalerweise in einem Menü nicht gerendert, stellt aber den Menüzustand SPC bereit. Nun aktivieren wir den Menüzustand SPC und kopieren den Inhalt von temp.menuNews in seine Ausgabe. Es wird davon ausgegangen, dass das zu rendernde Menü ein konformes UL-Menü ist. Mein Beispiel inkl. 3 Ebenen Menü: Menü mit Darstellung von News temp.menu = HMENU temp.menu { special = directory special.value = 1 alwaysActivePIDlist = 3 1 = TMENU 1 { wrap =

      |
             noBlur = 1
             
    

    NO.wrapItemAndSub =

  • |
  • NO.altText = subtitle // title NO.title = subtitle // title NO.ATagParams = class="men-no" NO = 1 ACTIFSUB < .NO ACTIFSUB.ATagParams = class="men-actifsub" ACTIFSUB = 1 CUR < .NO CUR.ATagParams = class="men-cur" CUR = 1 CURIFSUB < .NO CURIFSUB.ATagParams = class="men-curifsub" CURIFSUB = 1 // hier wird der Menüzustand aktiviert und besetzt SPC < .NO SPC.wrapItemAndSub > SPC.stdWrap.cObject < temp.newsMenu // jetzt kennt HMENU tt_news } 2 < .1 2.wrap =

      |


        3 < .1
    

    3.wrap =

      |

    }

    Es ist wichtig zu wissen, dass die News in der gleichen Ebene dargestellt werden, wie die Seite vom Typ Abstand - also anstelle bzw. "unterhalb" der Seite vom Typ Abstand.

    Zurzeit arbeite ich daran, die Kategorie aus dem Seitentitel der Seite "Abstand" zu generieren.

    Anregungen, Probleme und Erweiterungen sind willkommen.

    RSS - Feeds in tt_news[Bearbeiten]

    Quickstart[Bearbeiten]

    • statisches Template einbinden