blog.bartlweb - a technologist's external brain

Alle Artikel

Datei via SSH kopieren

Um einzelne Dateien zwischen Linux-Maschinen hin und her zu kopieren nutzt man am einfachsten das über SSH funktionierende SCP (Secure Copy).

scp -P [port] [file] [remoteuser]@[remotehost]:[remotepath]

Beispiel:

scp -P 22 /home/user/file.txt root@myserver.com:/mnt/data/

Seitentitel aus einer Extension heraus verändern

Um den Seitentitel aus einer Extension heraus zu verändern, gibt es eigentlich eine ganz einfache Methode:

$GLOBALS['TSFE']->page['title'] = 'Neuer Seitentitel';

Diese Methode greift allerdings nur dann, wenn es sich beim Plugin um eine gecachte Extension (also nicht vom Typ USER_INT) handelt und der Seitentitel per Typoscript nicht manuell verändert wurde (config.disableAllHeaderCode).

Ansonsten muss mann sich leider manuell um die Änderung des Seitentitels kömmen. Dafür gibt es 2 Ansätze die sich im Einsatz bewährt haben.

HTML-Header aus einer Typo3-Extension heraus erweitern

Des öfteren ist es sehr hilfreich aus einer Extension heraus dem HTML-Header noch Einträge hinzuzufügen. Der wohl häufigste Beweggrund dafür wird das einbinden von JS bzw. CSS-Dateien sein.

$GLOBALS['TSFE']->additionalHeaderData[$this->extKey] = '<script src="/files/script.js" type="text/javascript"></script>';

Dynamisch erzeugtes Inline-JS bzw. Inline-CSS kann auch direkt mittels den dafür vorgesehenen Funktionen eingebunden werden.

$GLOBALS['TSFE']->setJS($this->extKey, 'alert("dynamisches JS");');
$GLOBALS['TSFE']->setCSS($this->extKey, '.dynamisch {margin: 1em}');

WebDAV unter Windows extrem langsam

Seit Windows XP bzw. mit Windows 7 noch viel leichter ist es unter Windows möglich WebDAV-Freigaben als Netzlaufwerke einzubinden. Leider kommt es dabei immer wieder vor, dass auf einzelnen Geräten der Zugriff auf diese Freigaben extrem lange dauert.

Dieses Phänomen liegt an einer Einstellung des Internet Explorers. Die folgenden Schritte beheben das Problem.

  1. Starten Sie den Internet Explorer
  2. Wählen Sie im Menü Extras den Punkt Internetoptionen aus
  3. Wechseln Sie auf den Tab Verbindungen und wählen Sie dort den Punkt LAN-Einstellungen
  4. Deaktivieren Sie den Punkt Automatische Suche der Einstellungen

IPv6 Privacy-Option unter MacOSX aktivieren

Mit dem zukünftigen Netzwerkprotokoll IPv6 wird es keine NAT und damit kein verstecken hinter einem Router mehr geben. Jedes einzelne Gerät wird mit seiner eigenen Adresse aufscheinen. Um damit verbundene Risiken von Hackerangriffen und das Aufzeichnen von Nutzerstatistiken zu verhindern gibt es im IPv6-Protokoll die Möglichkeit die Privacy-Option zu aktivieren. Dabei wird regelmäßig der letzte Teil der IP-Adresse verändert und macht somit ein zurückverfolgen nicht möglich.

Unter Windows und Linux ist diese Einstellung standardmäßig aktiv unter MacOSX muss diese aber manuell aktiviert werden.

Dazu editieren Sie die Datei /etc/sysctl.conf. Existiert diese Datei noch nicht dürfen Sie diese auch erstellen. Ergänzen Sie die Datei um die folgende Zeile:

net.inet6.ip6.use_tempaddr=1

Backup von Linux-Servern via SSH und rsync

Gerade wer viele Linux-basierte virtuelle Maschinen auf seinem Server laufen hat, wünscht sich eine einfache Methode Dateien und Konfigurationen auf einen entfernten Backupserver zu sichern. Der einfachste Weg neben dem Backup der kompletten virtuellen Maschine ist das Kopieren der Dateien mit Hilfe von rsync über SSH. Diese Anleitung erklärt die Einrichtung eines Cronjobs auf dem Backupserver der jede Nacht Backups von definierten Remote-Hosts erstellt. Das komfortable daran: Der ganze Prozess läuft vom Backupserver aus und das für beliebig viele zu sichernde Hosts.

eigene PHP-Funktionen in Typoscript einbinden

Es ist durch aus möglich eigene PHP-Funktionen in Typoscript einzubinden, um komplexe Ausgaben zu erzeugen oder komplexe Bedingungen für Conditions zu erstellen.

eigene Funktionen

Um eigene Funktionen überhaupt in Typoscript einbinden zu können, muss zunächst die entsprechende PHP-Datei, in der diese definiert sind, eingebunden werden.

includeLibs.<beliebigername> = directory/user_<yourclassname>.php

Die Benennung der Klasse (und damit des Dateinamens, der der Klasse entsprechen sollte) unterliegt der Einschränkung, dass diese immer mit user_ zu beginnen hat.

Die Klassen und Funktionendefinition sieht im Grundstock so aus:

Typo3-Content-Elemente in zufälliger Reihenfolge ausgeben

Es ist durch aus möglich Content-Elemente einer Seite bzw. einer Spalte der Seite im Frontend in zufälliger Reihenfolge auszugeben. Dazu bedienen wir uns dem Ansatz per Typoscript eigene SQL-Befehle abzusetzen.

page = PAGE
page.10 = CONTENT
page.10 {
  table = tt_content
  select {
    where = colPos=0
    max = 1
    orderBy = rand()
  }
}

Das unten stehende Beispiel verwendet diese Option um beliebige Content-Elemente (auch von verschiedenen Seiten) per Typoscript auszugeben.

page = PAGE
page.10 = CONTENT
page.10 {
  table = tt_content
  select {
    pidInList = 2,3,4
  }
}

Mehrsprachiger Typoscript-Code

Um per Typoscript generierte Elemente Mehrsprachig zu gestalten, kann man entweder Conditions bemühen oder die lang-Option wie unten angeführt bemühen.

page = PAGE
page.10 = TEXT
page.10.value = English Text
page.10.lang.de = Deutscher Text