Diese Seite hält meine ersten Erfahrungen mit Typo3 fest. Sie ist weniger als Doku gedacht, sondern primär als Gedächtnisstütze für mich. Vielleicht findest du ja trotzdem was, das dir weiter hilft. Einige kleine Tricks sind dabei, die ich nur durch intensive Suche gefunden habe. Für Anregungen bin ich jederzeit offen. Ansonsten gibt es am unteren Ende der Seite eine Linkliste, die mir geholfen hat.

erste Schritte

apt-get install apache2-common libapache2-mod-php4 php4-mysql mysql-server libgd2 php4-gd
/usr/bin/mysqladmin -u root password '<my-mysql-root-pw>'

chown -R wwwrun. fileadmin/ typo3conf/ typo3temp/ uploads/
chmod -R g+w,o-rwx fileadmin/ typo3temp/ typo3conf/ uploads/

apt-get install imagemagick freetype2 gs php4-gd php4-imagick

das erste Template

Nach der Typo3 Installation siehst du im Frontend (FE) die Meldung, dass noch keine Seite angelegt wurde. Im Backend (BE) kannst du dies nachholen. Jetzt erscheint im FE die Meldung, dass zur Seite noch kein Template existiert. Also im BE auf Template gehen, in der Spalte rechts daneben die angelegte Seite auswählen und rechts davon auf "Template anlegen" klicken. Der Vorgang ist wenig intuitiv im BE, wird aber auch nur einmal gebraucht. Deine Seite hat nun ein Template, das auf alle Unterseiten vererbt wird. Unterseiten können die Veerbung annehmen oder komplett eigene Templates benutzen.

das erste TypoScript

Der ganze Typo3 Schnickschnack wirkt auf den ersten Blick wirr und altbacken. Deswegen hier kurz die neuere Variante mit externem HTML Template und CSS. Damit wird zwar ein Großteil der Funktionalität von Typo3 verschenkt aber wer auf plaintext steht wird es lieben. :)

page = PAGE
page {
  typeNum = 0
  10 = TEMPLATE
  10 {
    template = FILE
    template.file = fileadmin/template/main.html
    workOnSubpart = DOCUMENT
    marks {
      NAV_TOP = HMENU
      NAV_TOP {
        special = directory
        special.value = 3  #bei id=3 wird das menue begonnen
        1 = TMENU
        1.NO = 1
        1.NO.linkWrap = &nbsp;|&nbsp;&#124; |*| &nbsp;|&nbsp;&#124; |*| &nbsp;|
        1.NO.ATagParams = class="link_topleft"
      }
      NAV_LEFT = HMENU
      NAV_LEFT {
        special = directory
        special.value = 6
        1 = TMENU
        1.NO = 1
        1.NO.linkWrap = <br />
        1.NO.ATagParams = class="link_left"
      }
      ## die Inhalte, werden aus der Contentspalte gezogen
      CONTENT < styles.content.get
    }
  }
}
## Der beste Browser der Welt ;) bekommt sein eigenes Stylesheet. Alle anderen sollten mit dem W3C konformen Style klarkommen.
[browser = msie]
  page.stylesheet = fileadmin/template/stylesheet_ie.css
[else]
  page.stylesheet = fileadmin/template/stylesheet.css
[global]

Oben steht der TypoScript Code dazu brauchst du noch ein html Template. Hier ein Beispiel (passt aber nicht ganz zum obigen TypoScript:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head></head>
<body>
<div id="nav_top">
        ###NAV_TOP###
</div>
<!-- ###DOCUMENT### begin -->
<div id="main">
        <div id="nav_left">
                ###NAV_LEFT###
        </div>
        <!--
        <div id="content_right">
                ###CONTENT_RIGHT###
        </div>
        -->
        <div id="content">
                ###CONTENT### 
        </div>
</div>
<!-- ###DOCUMENT### end -->
</body>
</html>

neue Seiten

Frontend Sprache, Zeichensatz

utf-8

In typo3 bietet es sich an, gleich UTF-8 als Zeichensatz zu benutzen. So gibt es keine Probleme mit Umlauten bzw. später bei der Mehrsprachigkeit. Damit UTF-8 auch wirklich benutzt wird wähle im Installtool unter "All Configurations" den Punkt [BE][forceCharset] und schreib "utf-8" rein. Das wars auch schon.

Das zugrunde liegende System muss UTF-8 entsprechend eingerichtet sein.

Frontend Standardsprache

Im Frontend ist die Sprachausgabe allgemein Englisch, dieser Code im TypoScript Template der Seite stellt sie auf deutsch um:

  ## Standardsprache deutsch
  [globalVar = GP:L = 0]
  config.sys_language_uid = 0
  config.language = de
  config.locale_all = de_DE.utf8 

Statt "de_DE.utf8" kannst du auch nur "de_DE" verwenden, wenn dein System nicht auf utf-8 eingestellt ist.

Wenn du eine mehrsprachige Seite mit Typo3 erstellen willst, hilft dir vielleicht folgendes:

Backend Ansicht anpassen

Backend Sprachunterstützung

Spalten ausblenden

Die Rootseite aufrufen und editieren, im TSconfig Feld folgendes eintragen. Der Eintrag wird vererbt kann also auch nur für Unterseiten angegeben werden. Z.B.: hier werden nur die Hauptseite und die rechte Spalte in dieser Reihenfolge angezeigt:

mod.SHARED.colPos_list=0,2

Hierbei stehen die Zahlen für folgendes: 0-Normal, 1-Links, 2-Rechts, 3-Rand und die Reihenfolge bestimmt die Anordnung im Backend

Rich Text Editor (RTE) anpassen

Ebenso in TSconfig der entsprechenden Seite schreiben:

RTE.default {
classesParagraph = Default
## bestimmte Einträge verstecken (hier nur H2 anzeigen)
hidePStyleItems = H1,H3,H4,H5,H6,PRE,ADDRESS
## Buttons ein- und ausschalten
showButtons=formatblock,class,bold,italic,left,right,orderedlist,unorderedlist,link,image,table,line,cut,copy,paste
hideButtons=fontstyle,fontsize,underline,textcolor,center,emoticon,outdent,indent,bgcolor,user
}

awstats

Damit awstats wie gewünscht funktioniert kommt folgendes ins TypoScript des Haupttemplates:

  ## awstats aktivieren
  config.stat = 1
  config.stat_apache = 1
  config.stat_apache_logfile = meinedomain.log

Probleme mit awstats

Neuere Typo3 Versionen kennen die Funktion middle() nicht mehr. Wenn im Backend die awstats Seite leer bleibt und in der error Log des Webservers was mit middle steht liegt es 100%ig daran.

piwik

config.tx_bn1piwik {
  piwik_idsite = 1
  piwik_host = my.piwikserver.net/
}

cooluri

Mit realurl hatte ich Stress und die Konfiguration per Hand war mir zu mühsam, deswegen cooluri probiert

Spannend war das hinbiegen von .../de/... Anfragen:

pdf Generator

PDF = TEXT
PDF {
    value = als pdf ansehen
    postUserFunc = tx_pdfgenerator2->makePdfLink
    postUserFunc.include_post_vars = 1
    postUserFunc.target = _blank
}
pdf_generator2 = PAGE
pdf_generator2 {
        typeNum = 123 #ist die gleiche, die bei der Extensioninstallation angegeben wird
}

locallang mit TS

Kalender

VCE (sk_calendar)

Calendar Base (cal)

News (tt_news)

Die Standard tt_news lassen sich recht bequem über den Extension Manager einbinden. Dazu gibt es eine detailierte Doku bei den Extension Manuals. Ein paar Fallstricke sind dabei.

Suche, SEO, Fehlercodes

Suche

"Indexed Search Engine" bietet sich für die Frontend Suche an

SEO

Damit die generierten Seiten auch suchamschinenfreundlich sind, kannst du folgendes ins Typoscript setzen:

page {
   meta.keywords.field = keywords
   meta.description.field = description
}

Anschließend stellst du die einfachen Seiten im backend auf erweiterte Seiten um. Nun kannst du in die Felder Stichworte und Beschreibung das eintragen, was den Suchmaschinen als Hilfe dienen soll.

Fehlercodes

DAmit fehlende Seite eindeutig als solche ausgegeben werden, folgendes in die localconf.php schreiben:

$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = '1';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.1 404 Not Found';

Benutzerrechte

Serverumzug

Der einfachste mir bekannte Weg, um eine Typo3 Installation auf einen anderen Server zu bekommen funktioniert so:

mysqldump --opt -h localhost -p -u <username> <db_name> > typo3.dump

mysql -h localhost -p -u <username> <db_name> < typo3.dump

Links

Typo3Installation (zuletzt geändert am 2012-11-08 11:57:19 durch anonym)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.