Zeigen Blog mit Timtab
Timtab ist derzeit die einzige Blog-Erweiterung für TYPO3. Sie arbeitet mit mehreren anderen Extensions zusammen, die deshalb zwingend vorher installiert werdern müssen.
Erweiterungen
notwenige Erweiterungen:
- tt_news (normale News-Erweiterung)
- css_styled_content (CSS-Stile für den Content)
- ve_guestbook (regelt die Kommentare)
- timtab (die eigentliche Blog-Erweiterung
timtab muss als letzte installiert werden.
optionale Erweiterungen
- timtab_closecommentsafter
- timtab_latestcomments
- timtab_sociable
Achtung: diese Erweiterungen haben alle ein statisches Template, das entweder in das Haupttemplate des Internetauftritts oder in ein Erweiterungstemplate eigenes eingebunden werden muss. Bei tt_news sind das zwei: eines für die CSS-formatierte Ausgabe und eines für die RSS-Feeds.
HTML-Templates
Man kann timtab zusammen mit momentan 8 verschiedenen Bloglayouts installieren. Diese Layouts liegen als Erweiterung vor, mit statischen Templates, die einfach nur in das Haupttemplate eingebunden werden muss. Ansonsten kann das Setup des Haupttemplates leer bleiben. Beim typo3blogger findet sich eine Übersicht über die angebotenen Layouts". dort werden auch noch mehr Extensions beschrieben, die die Funktionalität von timtab erweitern.
Ausblick
Offenbar wird gerade eine Blog-Extension entwickelt, die mehr Komfort bieten soll; sie ist allerdings noch nicht im TER, soll dort aber irgendwann erscheinen. Sie wird von snowflake entwickelt.
Installation
Ich gehe jetzt von einer Installation ohne die vorgefertigten HTML-Templates aus, also eine Installation im Rahmen einer bereits fertigen Site.
- alle Extensions installieren
- deren statische Templates in das Haupttemplate oder in ein Erweiterungstemplate einbinden
- mindestens zwei Sys-Folder anlegen: je einen für die Blog(News)-Einträge und einen für die Kommentare
- die Seite anlegen, die die Blogeinträge in Listenform zeigen soll. In diese Seite wird ein normales News-Plugin eingefügt, in Listendarstellung. Die Quell-PID verweist auf den Sysfolder mit den Blogeinträgen. Es ist sinnvoll, hier das Erweiterungstemplate für die Konfiguration anzulegen.
- im Sysfolder der Blogeinträge einen News-Eintrag anlegen. Bei Art »Blogeintrag” auswählen, dadurch werden weitere Optionen freigeschaltet.
- eine weitere Seite anlegen, unterhalb der Blogeintrag-Seite und nicht im Menü. Dort ebenfalls das News-Plugin einbinden mit der Single-Darstellung und mit der gleichen Quell-PID verknüpfen.
- Auf der gleichen Seite wird jetzt unter dem News-Plugin zweimal die ve_guestbook-Erweiterung eingebunden, einmal als Liste und einmal als Formular.
Damit ist das Grundgerüst fertig; die meisten Plugins müssen nicht konfiguriert werden, da das über TypoScript erfolgen kann.
Konfiguration über TypoScript
Zuerst die Constants:
# Variablen, nach gusto
meinBlog.Titel = Ein Testblog
meinBlog.Untertitel = Der Untertitel des neuen Blogs (die Tagline)
# Timtab-Einstellungen
#plugin.tx_timtab_pi2.enableBlogger = 1
#plugin.tx_timtab_pi2.enableMetaWeblog = 1
plugin.tx_timtab.title = {$meinBlog.Titel}
plugin.tx_timtab_pi2.pidStorePosts = 62
plugin.tx_timtab_pi2.pidStoreComments = 61
plugin.tx_timtab.tagline = {$meinBlog.Untertitel}
plugin.tx_timtab.homepage = http://dev.cross-content.com
plugin.tx_timtab_pi2.bloggerTitle = Blog post
plugin.tx_timtab.blogPid = 63
plugin.tx_timtab.homePid = 59
# tt_news-Einstellungen für den RSS-Feed
plugin.tt_news.displayXML.xmlTitle = Blog
plugin.tt_news.displayXML.xmlLink = http://www.test.com/
plugin.tt_news.displayXML.xmlDesc = Neueste Einträge vom Blog
plugin.tt_news.displayXML.xmlLang = de
plugin.tt_news.displayXML.xmlLimit = 15
plugin.tt_news {
# das Template-File speziell für das Blog
file.templateFile = fileadmin/templates/blog/tt_news_blog.html
# PIDs anpassen an die Installation
pid_list = 62
singlePid = 63
backPid = 63
archiveTypoLink.parameter = 0
datetimeDaysToArchive = 0
limit = 10
latestLimit = 3
catTextMode = 1
catImageMode = 1
useHRDates = 0
useMultiPageSingleView = 0
useBidirectionalRelations = 1
usePagesRelations = 1
useSubCategories = 0
displaySubCategories = 0
showRelatedNewsByCategory = 0
# Cache erlauben?
allowCaching = 0
useSPidFromCategory = 0
showCatRootline = 0
# Bildgrößen : anpassen
singleMaxW = 240
singleMaxH = 180
latestMaxW = 60
latestMaxH = 40
listMaxW = 120
listMaxH = 90
}
Und jetzt beispielhafte Setup-Einstellungen:
// ### Sociallinks ### //
plugin.tx_timtabsociable_pi1 {
tagline.wrap = <strong>|</strong><br>
# Anpassen:
activeServices (
addthis,ask,delicious,digg,google,linkarena,live,magnolia,
misterwong,mylinkde,netscape,technorati,webnews,yahoomyweb
)
}
// ### Latest Comments ### //
plugin.tx_timtablatestcomments_pi1 {
# PID der Kommentare anpassen
commentsPid = 61
# Anzahl der Kommentare
listCount = 5
comment {
# Anzahl der gezeigten Zeichen.
maxCharCount = 100
}
}
// ### timtab_closedcommentsafter ### //
# Anzahl der Tage, nach denen die Kommentare geschlossen werden.
plugin.tx_timtab.comments.closeAfter = 20
// ### Plugin Modern Guestbook ### //
/* Die anzuzeigenenden Felder im Template konfigurieren. Ebenso das Erscheinungsbild
über das Template und die CSS-Datei. */
plugin.tx_veguestbook_pi1 {
# Template laden
templateFile = fileadmin/templates/blog/guestbook_template.tmpl.html
# Anzahl der Kommentare auf der Seite begrenzen
limit = 5
# wenn eine E-Mail an den Kommentierenden gesendet wird, hier
# Name und from eintragen
email_from_name = Nicht antworten
email_from_mail = no@reply.de
# Datumsformate formatieren
datetime_stdWrap.strftime= %A, %d. %m. %y, %H:%M
date_stdWrap.strftime= %d.%m.%y
time_stdWrap.strftime= %H:%M
# Emoticons einschalten
emoticons {
active = 1
}
#Pflichtfelder
obligationfields = email,surname
}
// ### für den Spamschutz auf E-Mailadressen ### //
config {
spamProtectEmailAddresses = 1
spamProtectEmailAddresses_atSubst = (at)

}
// ### RSS-Feed ### //
page.headerData.80 = HTML
page.headerData.80.value = <link rel="alternate" type="application/rss+xml" title="RSS von {$rss_domain}" href="http://www.{$rss_domain}/rss.xml">
rss2 = PAGE
rss2 {
typeNum = 100
#Leeren von 10
10 >
#Befüllen mit tt_news
10 < plugin.tt_news
#Leeren von pid_list
10.pid_list >
#Wert für pid_list aus den Constanten
10.pid_list = {$meinBlog.pidlist}
#Wert für singlepid aus den Constanten
10.singlePid = {$plugin.tt_news.singlePid}
10.defaultCode = XML
#Format festlegen - hier rss2
10.displayXML.xmlFormat = rss2
config {
disableAllHeaderCode = 1
additionalHeaders = Content-type:text/xml
no_cache = 1
xhtml_cleaning = 0
}
}
HTML-Templates für tt_news und ve_guestbook
Beide kommen mit eigenen Templates, die hier in dieser Konfiguration eigens geladen werden. Entscheidend ist, dass diese Templates von timtab um weitere Marker erweitert werden, die man deshalb nicht in den Templates selbst findet, sondern nur in der Dokumentation von Timtab. Diese Platzhalter sind wichtig, um zum Beispiel Counter für die Kommentare einzubauen, die Trackback-URL auszugeben etc.
Weiterführende Links:
Category:Typo3 -> Extensions
Category:Typo3 -> timtab