Archive for the ‘Typo3’ Category.

Templavoila einrichten

1. templavoila und static_info_tables installieren und aktivieren - bei Enable Features Basic auswählen und alle 3 optionen unausgewählt lassen.
2. einen sysordner namens "Storage Folder" erstellen und diesen Ordner in der root Seite als General Record Storage Page auswählen
3. in fileadmin einen Ordner templates erstellen und dort eine html Seite speichern
4. in storage folder 2 neue Objekte erstellen (genauere Anleitung):
- TemplaVoila Data Structure mit typ Seite (Vorlage) und name "Template (Datenstruktur)"
- TemplaVoilà Template Objekt mit Dateireferenz fileadmin/templates/index.html und Datenstruktur "Template (Datenstruktur)" auswählen
5. in root dann unter extended das Template auswählen
6. falls templavoila es nicht automatisch gemacht hat, dann im root template setup folgendes hinzufügen:

  1. page = PAGE
  2. page.10 = USER
  3. page.10.userFunc = tx_templavoila_pi1->main_page

Typo3 Formular – HTML Mails

Damit Mails, die über ein Formular abgeschickt werden, als HTML-Mails ankommen, braucht es diese Zeile:

  1. | html_enabled=hidden | 1

Simpel aber nützlich.

selbst formatiertes content element: Bildbreite und Bildhöhe

Ich habe mir notgedrungen mein "Text mit Bild" Element selbst formatieren müssen und dabei habe ich festgestellt, dass die Bildmaße des Bildes ignoriert wurden. Typoscript beachtet Bildmaße mit folgenden Zeilen:

  1. tt_content.textpic.20.10.file.width.field = imagewidth
  2. tt_content.textpic.20.10.file.height.field = imageheight

Joa... klingt simpel, isses auch. Wenn mans weiß. Und nich ne halbe Stunde bei Google nachsehn muss, weil es keine gescheite Doku für die tt_content Standardeinstellungen gibt.

Typo3 wandelt das Kaufmännische Und in noscript Tags um

HERRGOTT. Ich sollte auf einer Typo3 Seite einen Tracker einbauen, das hab ich so gemacht:

  1. page.500 = HTML
  2. page.500.value (
  3. <noscript>
  4.   <img src="http://domain.de/tc.php?cl=123456&v=15&vz=le&vv=&po=&sh=&nf=&hr=&uo=&vo=&tr=&vp=&c1=Anfrage&c2=&c3=&c4=" width="1" height="1" />
  5. </noscript>
  6. )

Und wie sieht dank Typo3 das Ergebnis im Quelltext aus? So:

  1. <noscript>
  2.   <img src="http://domain.de/tc.php?cl=123456&amp;v=15&amp;vz=le&amp;vv=&amp;po=&amp;sh=&amp;nf=&amp;hr=&amp;uo=&amp;vo=&amp;tr=&amp;vp=&amp;c1=Anfrage&amp;c2=&amp;c3=&amp;c4=" width="1" height="1" />
  3. </noscript>

Grr. GRRRR!!!! Nach langer Suche dann das Ergebnis:

  1. config.xhtml_cleaning = 0

Das am Anfang der betroffenen Seite wirkt Wunder. Is wahrscheinlich gar nich lustig wenn man das auf der ganzen Seite deaktivieren muss, aber für meine Zwecke hats gereicht.

Zusätzlicher Linkparameter für Filelinks

Ich brauchte für die Filelinks für einen Tracker einen onclick Parameter. Und so fügt man den hinzu:

  1. tt_content.uploads.20.linkProc.ATagParams = onclick="alert('buh');"

Danke an den Poster auf dieser Seite.

Gifbuilder Problem – seltsame Zeichen anstatt Buchstaben

Typo3 überrascht mich immer wieder... Nach einem Umzug auf einen neuen Server wurde aus hübschen Gifbuilder Schriften plötzlich das hier:

Erst als ich transparentBackground = 1 ausgeblendet hab, ließen sich die Schriften einigermaßen bändigen und sehen nun so aus:

Na, wenigstens kann mans wieder lesen. Allerdings sehen die Schriften nicht mehr so aus, wie sie eigentlich sollen. Irgendwas stimmt nicht. Eigentlich sollte das Menü SO aussehen:

Ein Königreich für nen heißen Tipp, was hier abgeht.

Gott, ich hab Typo3 so satt...

Typo3 Sitemap

Da ich nicht für jeden unwichtigen Mist gleich eine Extension bemühen will, habe ich heute versucht, auf einer Seite eine Sitemap mit den vorhandenen Möglichkeiten zu erstellen. Das sollte ja nicht allzuschwer sein, liefert Typo3 doch direkt die Möglichkeit mit, ein content-Element "Sitemap" zu erstellen.

Aber Typo3 wäre nicht Typo3, wenn das so einfach funktionieren würde. Ich habe eine neue Seite erstellt, das besagte content-Element hinzugefügt und meinen Ausgangspunkt gewählt. Was passierte? Egal welchen Ausgangspunkt ich auch wählte, das einzige, was meine Sitemap mir anzeigte, war das Storage Folder von templaVoila. Ja, toll. Die Art von Sitemap hatte ich im Kopf als ich das erstellt hab, mhmmm...

Nach kurzer Recherche habe ich dann im TS Setup folgendes eingegeben:

  1. tt_content.menu.20.2.special = directory
  2. tt_content.menu.20.2.special.value.field = pages

Und, oh Wunder, plötzlich hört Typo3 tatsächlich auf meine Auswahl des Ausgangspunktes. Die Lösung hab ich hier gefunden.

Ganz ehrlich, das hat mich schon wieder fast eine Stunde Zeit gekostet. Wenn man weiß, dass es daran liegt, dass Typo3 den Ausgangspunkt offenbar nicht anerkennt, ja dann ist die Lösung schnell gefunden. Aber dass ausschließlich mein Storage Folder und sonst NICHTS angezeigt wurde, war für mich nicht unbedingt ein Hinweis darauf, dass das Problem am Ausgangspunkt liegt. Dementsprechend langwierig war dann auch die Google Suche. Ganz ehrlich, wozu gibt es ein content-Element namens Sitemap und wozu besteht dort die Möglichkeit, einen Ausgangspunkt zu wählen, WENN DAS DANN ERSTMAL GAR NICHT FUNKTIONIERT?!!

Es ist so... so.... frustrierend...

Menüpunkten fortlaufende Klassennamen geben

Danach hab ich nun schon öfter gesucht und bin jetzt zufällig drauf gestoßen. Ich möchte Listenelemente mit Klassennamen fortlaufender Nummerierung generieren. Das klappt so:

  1. lib.subMenu.1.NO {
  2.         allWrap = <li class="sm{register:count_HMENU_MENUOBJ}">|</li>
  3.         allWrap.insertData = 1
  4. }

Damit haben meine Listenelemente die Klassennamen sm1, sm2, ...
Praktisch.

Eine andere Variante: man gibt den Listenelementen Klassennamen anhand ihrer IDs:

  1. lib.subMenu.1.NO {
  2.         allWrap = <li class="sm{field:uid}">|</li>
  3.         allWrap.insertData = 1
  4. }

Tadaah!

Dateigröße bei Dateiverweisen

Ich wollte den Dateiverweisen eine Datei hinzufügen und bekam die Meldung: "file exceeds limit". Und - es geschehen noch Zeichen und Wunder - die google Recherche brachte mich direkt zu einem hilfreichen Beitrag.
Um das Limit aufzustocken, öffnet man die typo3conf/extTables.php und fügt dort diese Zeile hinzu:

  1. $GLOBALS['TCA']['tt_content']['columns']['media']['config']['max_size'] = 10485760;

Danke an den Forenuser wurzl für einen der ersten hilfreichen Typo3 Forenbeiträge, den ich je gesehen habe.

chgallery einrichten

Die chgallery ist, anders als die meisten Galerie Extensions, ziemlich cool. Ich vermute stark, dass ich die noch öfter brauchen werde, daher ein paar kleine Details zum Aufsetzen der Galerie:

1. Sprachen
Grundsätzlich gibts alle deutschen Übersetzungen bereits in der locallang.xml. Damit aber auch deutsch angezeigt wird, muss man im Typoscript die Standardsprache definieren:

  1. config.language = de
  2. config.locale_all = de_DE

Dann klappts auch mit der Sprache.

2. Bilder verlinken

Vielleicht hab ich auch einfach was falsch gemacht, aber bei mir waren die Bilder nicht von Anfang an verlinkt. Erst als ich im TS angegeben habe, dass sie verlinkt sein sollen, konnte man auch klicken um sie in Originalgröße anzusehen:

  1. plugin.tx_chgallery_pi1 {
  2.         gallery.image {
  3.         imageLinkWrap  = 1
  4.         imageLink       Wrap {
  5.                 enable = 1
  6.                 typolink {
  7.                         title.field= tx_chgalleryFilename #tx_chgalleryTitle
  8.                         parameter.override.cObject = IMG_RESOURCE
  9.                         parameter.override.cObject.file.import.data = TSFE:lastImageInfo|origFile
  10.                         parameter.override.cObject.file.maxW = 800
  11.                         parameter.override.cObject.file.maxH = 600
  12.                         # used lightbox is pmkslimbox
  13.                         ATagParams = rel="lightbox"
  14.                         ATagParams.override = class = "lightbox"
  15.                         ATagParams.insertData = 1
  16.                 }
  17.         }
  18. }

Man beachte insbesondere Zeile 13, wo ich den Links direkt ein rel=lightbox zuweise, das werde ich später nämlich noch brauchen.

3. Lightbox

Ich bin sicher, das kann man mit Extensions auch einfacher haben, aber ich hab selber dafür gesorgt, dass die Lightbox funktioniert. Zuerst hab ich jquery und jquery lightbox eingebunden:

  1. page.includeCSS.20 = fileadmin/templates/jquery.lightbox-0.5.css
  2. page.includeJS.35 = fileadmin/templates/js/jquery-1.4.2.min.js
  3. page.includeJS.40 = fileadmin/templates/js/jquery.lightbox-0.5.js
  4.  

Dann sorge ich dafür, dass alle meine rel=lightbox Links auch mit der Lightbox aufgerufen werden:

  1. page{
  2.         headerData.200 = TEXT
  3.         headerData.200.value (
  4.                 <script type="text/javascript">$(function() { $('a.lightbox').lightBox(); });</script>
  5.         )
  6. }
  7.  

Und das Ergebnis ist eine Galerie auf deutsch, die die Bilder in Originalgröße in der Lightbox öffnet. Whee.