Ein Blog von netzhaut.de

3

Automatische Silbentrennung

Lange durfte/musste Kunden erklärt werden, dass der Textfluss in HTML nicht so schön flüssig sein kann wie in Word & Co, weil es keinen automatischen Zeilenumbruch gibt – entweder man setzt händisch Umbrüche (oder mögliche Umbruchsstellen) oder man überlässt es rein den Gegebenheiten. Zusätzlich verkompliziert hat diese Lage, dass Textbreiten von Browsern, Betriebsystemen, Schriftarten usw. abhängig waren, wodurch es nahezu unmöglich war, passende Umbrüche zu setzen. CSS3 bringt nun endlich die lang ersehnte Lösung – zumindest weitgehend: body { -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } Damit wird – richtigen HTML-Language Code vorausgesetzt – die Silbentrennung des Browsers...

5

E-Mail-Link mit Betreff und die Leerzeichen

Beim erstellen eines E-Mail typolinks mit einem Betreff in dem Leerzeichen enthalten sind, wird der Betreff beim ersten Leerzeichen abgeschnitten. %20 half bei spamProtectEmailAddresses = 2 (oder 1) auch nicht. Hier erschienen schöne @-Zeichen. Die Lösung ist man ändert spamProtectEmailAddresses auf 10 (spamProtectEmailAddresses = 10) und somit wird auch %20 wieder als Leerzeichen interpretiert und der Betreff oder der vorgegebene Text sieht wie gewohnt aus.    1 = TEXT    1 {      value = Annmelden!      typolink.parameter = info@example.org?subject=E-Mail%20mit%20Betreff&body=Das%20ist%20der%20Bodytext%20der%20Mail      typolink.wrap = <div>|</div>    } config {   spamProtectEmailAddresses = 10   spamProtectEmailAddresses_atSubst = @<span style=“display:none;“>&nbsp;</span>...

1

TYPO3 Autoload

Seit TYPO3 4.3 können Klassen automatisch beim Laden einer Extension eingebunden werden (z.B. rund um die Scheduler Tasks nützlich). Eigentlich kein Hexenwerk, aber als kleine Gedankenstütze trotzdem ein paar Zeilen Code und die Rahmenbedingungen: ext_autoload.php: <?php $extensionPath = t3lib_extMgm::extPath(‚myext‘); return array( ‚tx_myext_myclass‘ => $extensionPath . ‚Classes/class.tx_myext_myclass.php‘, ); ?> Rahmenbedingungen der Key muss immer kleingeschrieben sein, auch wenn die Klasse im CamelCase-Stil benamt ist der Key muss mit tx_ (oder ux_) beginnen bzw. derart sein, dass mittels t3lib_extMgm::getExtensionKeyByPrefix($prefix) der Extension-Key ermittelbar ist ($prefix ist hierbei der Substring des Keys bis zum zweiten Unterstrich) die Datei ext_autoload.php liegt im Hauptverzeichnis der Extension...

10

tipafriend und TYPO3 4.6

Leider gibt es hier einige Probleme durch das Aufräumen des Cores von TYPO3 (Stichwort: deprecated methods). Da sich bis jetzt noch nichts getan hat bei den Entwicklern der Extension (http://forge.typo3.org/issues/33216#change-100254; http://forge.typo3.org/issues/33385 und http://forge.typo3.org/issues/33386) haben wir folgende Lösung getestet und auch eingesetzt. Bug #33386 no auto-register with CSC: im setup.ts die folgenden Zeilen einbinden tt_content.list {     20 {         11 = CASE         11.key.field = layout         11.0 =< plugin.tipafriend     } } Bug #33385 Tip-A-Friend is using deprecated/unavailable functions: in der class.tx_tipafriend.php folgende Zeile:         $cls=t3lib_div::makeInstanceClassName(‚t3lib_htmlmail‘); durch         $cls=t3lib_div::makeInstance(‚t3lib_htmlmail‘); ersetzen. Da die Funktion schon...

2

CSS-Stylesheets fehlen im Backend?

Ein seltsames Phänomen, das mich heute länger beschäftigte: Im TYPO3-Backend fehlen die Stylesheets. Als Folge sieht das Backend nicht nur seltsam aus, sondern ist unbedinbar. Via versehentlich aktiven Firebug kam ich auf die Lösung: Die CSS-Dateien wurden aus irgendeinem Grund mit Mimetype „text/plaintext“ ausgeliefert, während „text/css“ erwartet wurde. Folglich wurden sie von Firefox 9 gar nicht eingebunden/interpretiert. Ausweg: Setzen des passenden Mimetypes am Server, z.B. via htaccess-Datei: AddType text/css .css Betroffen war konkret ein etwas älteres Web, das zunächst ein TYPO3 4.1.5, dann 4.1.12 und schließlich ein 4.3.14 war. Update 22:45 Uhr Nachdem mir das doch zu merkwürdig erschien und...

0

(zu) viele Bilder in einem Verzeichnis

Zuviele Dateien in einem einzelnen Verzeichnis können zu einem Flaschenhals werden, der in seltenen Fälle auftritt, und schwer zu aufzuspüren ist. Eintreten kann dies durch sehr große Fotogalerien (z.B. Disco-/Szene-Websites mit hunderten Fotos pro Abend), große Shops mit zig Varianten pro Bild – oder durch Programmierfehler/Logikfehler. TYPO3 generiert hier brav die skalierten Bilder und speichert sie defaultmäßig in typo3temp/pics/. Sind hier irgendwann sehr viele Dateien gespeichert – in einem Fall bei uns ca. 500.000 – leidet das Betriebssystem darunter und baucht ggf. etwas länger, um einen Dateiaufruf beantworten zu können, da die zu durchsuchende Menge (zu) groß ist. Weiß man...

0

EXT3 Boot Partition vs. GRUB

Aus der Reihe „Offensichtliches, oder – Wer braucht schon ein bootfaehiges System?“: Aeltere GRUB Versionen erkennen Partitionen nur mit einer INode Groesse von 128 Bytes. Aktuelle mkfs.ext3 / tune2fs verwenden standardmaessig eine 256 Byte INode Groesse. Damit also alle GRUB Versionen mit einer Boot Partition klarkommen -> 128 Byte INodes verwenden. # mkfs.ext3 -I 128 /dev/[PFAD ZUR ENTSPRECHENDEN PARTITION] Um zu sehen, welche INode Groesse in einer bestehenden Partition verwendet wird: # tune2fs -l /dev/[PFAD ZUR ENTSPRECHENDEN PARTITION] | grep -i ‚inode size‘

1

Anker-Links

Mal wieder eine Gedankenstütze… Es funktioniert mal wieder nicht, dass Anker-Links innerhalb einer Seite ohne Neuladen der Seite bleiben? Es wird stattdessen die URL der Seite dem Anker vorangestellt? Im Standard-TypoScript steht bei uns meist: config.prefixLocalAnchors = all Und was steht in der TSref dazu? If set to one of the keywords, the content will have all local anchors in links prefixed with the path of the script. Basically this means that <a href=“#“> will be transformed to <a href=“path/path/script?params#“>. This procedure is necessary if the <base> tag is set in the script (eg. if „realurl“ extension is used to...

0

Inkompatible Firefox Add-ons

Durch die derzeitigen schnellen Versionssprünge von Firefox, werden viele Addons als inkompatibel eingestuft. Dies dabei laufen sie oftmals bestens. Ursache ist schlicht und einfach eine seitens des Add-on erklärte Kompatibilität, deren obere Versionschranke überschritten ist, es aber kein Update des Add-ons gibt.