RealURL – 404 Fehler obwohl die Seite existiert.

Gerade wenn Veränderungen an der Baumstruktur vorgenommen werden oder auch Umbenennungen der Seiten kann es vorkommen das die Seite über die sprechenden URLs nicht mehr erreichbar sind. Das Ergebnis ist ein 404-Fehler. Ein Blick in das Info-Modul und dort im Bereich des ID-to-path mappings zeigt da einen undvollständigen Eintrag. Scheinbar klappt hier das Update des RealURL-Caches nicht mehr.

Nach vielen Blicken in die Foren und verschiedenen fehlgeschlagenen Versuchen gab es die Lösung über die realurl_conf.php

               'pagePath' => array(
                    'type' => 'user',
                    'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
                    'spaceCharacter' => '-',
                    'languageGetVar' => 'L',
                    'expireDays' => 7,
                    'rootpage_id' => 2,
                    'firstHitPathCache' => 1,
                    'autoUpdatePathCache' => '1',
                ),

Nachdem ich die letzte Zeile

‚autoUpdatePathCache‘ => ‚1‘,

hinzugefügt hatte, füllte sich der Cache wieder so wie er sollte, die 404-Fehler traten ebenfalls nicht mehr auf.

TypoScript als Content-Element einbinden

Ein ziemlich geniales Plugin für die Einbindung von TypoScript-Code als Content-Element ist typoscript2ce. Im Seiten-Template wird der generierte Value am besten in einer temp-Variable abgespeichert. Die Variable wird dann im Plugin eingetragen – fertig.

TypoScript – mehrzeilige Eingaben für Value

Wenn in TypoScript Variablen mit Werten über Value gefüllt werden ist das eigentlich keine große Kunst. Mit einer Befehlsfolge ähnlich der nachfolgenden ist das gleich erledigt:

temp.variable = TEXT
temp.variable.value = Einzeiliger, fortlaufender Text

Der Wert wird an der entsprechenden Stelle ausgegeben, jedoch alles in einer Zeile. Bei mehrzeiligen Eingaben, die auch Zeilenschaltungen an vorgegebenen Stellen beinhalten sollten muss der Wert dann ähnlich der nachfolgenden Struktur eingegeben werden:

temp.variable.value (
Hier werden Inhalte in mehrere
Zeilen geschrieben unter
Beibehaltung der Umbrüche
)

Zu beachten sind hier zwei Dinge: Zum einen darf nach der öffnenden und und vor der schließenden Klammer nichts stehen. Zum anderen darf zwischen value und der öffnenden Klammer kein Gleichheitszeichen stehen. Letzteres wird oft mit der einzeiligen Version verwechselt und daher gerne mal schnell übersehen.

Extension Builder – Relationen nur mit neuen Datensätzen

Mit dem Extension Builder erzeugte Relationen ermöglichen im Backend zu Beginn nur das verknüpfen mit Datensätzen die bei der Verknüpfung gleichzeitig neu erstellt werden. Bestehende Datensätze können so nicht verbunden werden. Mit einer Änderung in der TCA-Datei der entsprechenden Tabelle (Parent) geht dies wieder:

Hierzu muss der Abschnitt des Relationsfeldes im Beispiel

'config' => array(
    'type' => 'inline',
    'foreign_table' => 'tx_productoverview_domain_model_category',
    'foreign_field' => 'product',
    'maxitems'      => 9999,
    'appearance' => array(
      'collapseAll' => 0,
      'levelLinksPosition' => 'top',
      'showSynchronizationLink' => 1,
      'showPossibleLocalizationRecords' => 1,
      'showAllLocalizationLink' => 1
    ),

geändert werden zu

 
  'config' => array(
    'type' => 'select',
    'foreign_table' => 'tx_productoverview_domain_model_category',
    'maxitems'      => 9999,
  ),

Extension Builder – Änderungen werden nur teilweise übernommen

Mit dem Extension Builder lassen sich schnell die ersten Schritte zum Erstellen der TYPO3-Extensions durchführen. Oft zeigt sich jedoch bei den ersten Tests der Erweiterung dass z.B. die Struktur der Datenbanktabelle angepasst werden muss. Auch Änderungen an der Konfiguration der bestehenden Datenbanktabellen sind hier an der Tagesordnung.

Im konkreten Fall wurde über den Extension Builder eine Datenbankstruktur mit vier Tabellen abgebildet. Eine fünfte Tabelle wurde notwendig und wurde hinzugefügt. Nur ließen sich keine neuen Datensätze erstellen da beim Hinzufügen neuer Datensätze diese Tabelle nicht in der entsprechenden Auswahl möglicher Tabellen erschien. TCA-Konfigurationsdatei, ext_tables, etc. alles schien normal und vollständig. Auch das Löschen des Konfigurationscache hatte nichts gebracht. In so einem Fall kommt man als Einsteiger hier schnell an seine Grenzen. Eher der Zufall brachte die Lösung:

Das Deaktivieren und erneutes Aktivieren der entsprechenden Extension im Extension Manager brachte die Lösung. Dadurch werden scheinbar entsprechende Konfigurationen noch mal neu geschrieben. Im Anschluss an diese Aktion war alles wie es sein sollte.

Speedport 724v – IPv6 deaktivieren beim Mac

Mit Verzögerungen oder gar Abbrüchen im Verbindungsaufbau zu Webseiten geht es los. Die Meldung aus den Fehlerprotokoll gibt dann Gewissheit, der Speedport 724v hat Probleme mit IPv6:

DNSv6-Fehler: Der angegebene Domainname kann nicht … aufgelöst werden.

Zusätzlich kann man sich über Dienste wie http://www.wieistmeineip.de/ipv6-test/ eine weitere Bestätigung holen. Wenn hier nur die IPv4 angezeigt wird, bei der IPv6 jedoch „nicht vorhanden“ steht, ist die Sache klar.

Damit die Störungen beim Verbindungsaufbau zu Webseiten dann unterbleiben könnte man derzeit noch ausschließlich auf die IPv4 setzen. Das sollte man sich jedoch gut überlegen, denn einige Services (z.B. Druckerdienste) laufen problemlos nur unter IPv6.

Die einfachste Möglichkeit um IPv6 beim Mac zu deaktivieren, geht über Terminalbefehle. Im Terminal-Programm werden dann folgende Befehle eingegeben:

IPv6 für Ethernet deaktivieren
networksetup -setv6off Ethernet

IPv6 für Ethernet wieder einschalten
networksetup -setv6automatic Ethernet

IPv6 für Wi-Fi ausschalten
networksetup -setv6off Wi-Fi

IPv6 für Wi-Fi wieder einschalten
networksetup -setv6automatic Wi-Fi

Einzelne Felder und Reiter der Seiteneigenschaften ausblenden

Damit im Backend für die Redakteure die Übersicht erhalten bleibt können im Seiten-TS des Root-Knotens die nicht überall benötigten Felder ausgeblendet werden

TCEFORM.pages{
  author.disabled = 1
  author_email.disabled = 1
  keywords.disabled = 1
  description.disabled = 1
}

Das Ganze geschieht nach dem Muster TCEFORM.[tabelle].[feld].disabled = 1. Sind alle Felder eines Reiters (Tab) ausgeblendet wird auch der entsprechende Reiter nicht mehr angezeigt.

In den einzelnen Zweigen des Menübaums können dann die Felder je nach Bedarf mit disabled = 0 wieder eingeblendet werden. Wird der TypoScript Code nicht im Seiten-TS eingebaut muss page. davorgestellt werden.

page.TCEFORM.pages {
  ...
}

Layout-Bezeichnungen in den Seiteneinstellungen

Die Standardbezeichnungen in den Seiteneinstellungen lauten ja „Layout 1″, „Layout 2″, etc. und sind ja nicht sehr aussagekräftig. Um hier dem Redakteur das Leben zu erleichtern sollten die Einstellungen angepasst und aussagekräftigere Bezeichnungen eingestellt werden.

Im Seiten-TS kann man dies ganz einfach durch überschreiben der vorhandenen Einstellungen. Aber auch weitere Labels können an der Stelle eingefügt werden:

TCEFORM.pages.layout {
	addItems {
		4 = Produkte
		5 = Team
	}
	altLabels {
		0 = Standard-Zweispaltig
		1 = Dreispaltig mit Header
		2 = Einspaltig
		3 = ...
	}
}

Favicon für Retina richtig einbinden

Um Favicons richtig und standardkonform einzubinden sind zwei Zeilen Code im Header wichtig:

<link rel="shortcut icon" href="http://typo3entwickler.de/favicon.png" type="image/png" />
<link rel="icon" href="http://typo3entwickler.de/favicon.png" type="image/png" />

Bei dem Format des Favicons sollte man auf das PNG-Format in 32×32 Pixel setzen. Zum einen wird dies ohne Verzögerung in den Browsern angezeigt, was beim ICO-Format bedingt durch den Cache und gewisse Automatismen nicht immer gegeben ist. Zum anderen wird ein 32×32 Bild von den Browsern auf 16X16 herunterskaliert, zum anderen holen die Retina-Displays die Schärfe durch die doppelte Pixeldichte wieder heraus.

In TYPO3 wird es z.B. so eingebunden:

 

page.headerData.23 = TEXT
page.headerData.23.value = 
<link rel="shortcut icon" href="http://typo3entwickler.de/favicon.png" type="image/png" />

page.headerData.24 = TEXT
page.headerData.24.value = 
<link rel="icon" href="http://typo3entwickler.de/favicon.png" type="image/png" />

Mac-Download Ordner zeigt Dateien an die nicht vorhanden sind

Warum auch immer hat der Download-Ordner im Dock Dateien angezeigt, die eigentlich nicht mehr vorhanden waren. Löschen konnte man diese Dateien ebenso wenig wie aus dem Fächer heraus auf den Desktop oder im Papierkorb zu verschieben. Darüberhinaus half es in diesem Fall auch nicht im Finder die Unsichtbaren Dateien anzuzeigen, denn selbst damit war den fälschlicherweise angezeigten Dateien nicht beizukommen.

Die Lösung war dann genauso einfach wie effizient: Wenn der Ordner mit der Maus weit genug aus dem Dock nach oben gezogen wird, dann wird er aus dem Dock – und nur da – gelöscht. Jetzt muss man nur noch im Homeverzeichnis des Benutzers den Download-Ordner wieder neu herausholen und auf dem Dock ablegen – schon ist wieder alles so wie es sein soll.

Veröffentlicht unter Apple