Wenn bei „Space Before“ oder „Space After“ ein spezieller Wert eingestellt wird, so wird das im Backend automatisch angezeigt. Der Bereich nennt sich tt_content Footer (t3-page-ce-info), und es gibt einen Hook um diesen zu erweitern. Mit diesem Code kann man eigene Werte ausgeben: Weiterlesen
Archiv der Kategorie: Allgemein
User kann keine Dateien löschen
Ein User (z.B. Editor, Redakteur) hat die entsprechenden Rechte um Dateien zu löschen, und trotzdem kommt diese Fehlermeldung:
You are not allowed to access the given folder: ""
Mit einem TYPO3 Admin-User ist die Datei aber löschbar, d.h. es sind nicht die Schreibrechte am Server, ein chmod 777 ändert also nichts. Es liegt an den TYPO3 Rechten, doch keine der Berechtigungs-Einstellungen hilft dabei.
Lösung: innerhalb des freigegebenen Ordners des Users einen Unterordner names „_recycler_“ anlegen.
Grund ist ein undocumented Feature von TYPO3: er sucht einen Ordner „_recycler_“. Dieser Ordner muss innerhalb der erlaubten Zugriffs-Rechte des Users liegen, z.B. user_upload/_recycler_/. Erst wenn auf Root Ebene keiner gefunden wurde, ist die Funktion „getNearestRecyclerFolder“ abgeschlossen. Doch blöderweise geht diese Funktion in übergeordnete Ordner, auf die der User keine Berechtigung hat.
Immerhin habe ich dadurch überhaupt erst herausgefunden, dass es auch bei Dateien eine Papierkorb Funktion gibt 🙂
Extbase Extension für 8.7
Ich eine Referenz-Extension für ExtBase 8.7 erstellt:
https://github.com/aschmutt/extbase_87
Die folgenden Neuerungen sind darin umgesetzt:
- alles was nicht mehr in ext_tables.php gehört in Configuration/TCA/Overrides verschoben. Gute Beispiele dafür findet man auch in EXT:news
- $_EXTKEY entfernt
- Doctrine Beispiel in der Repository Klasse
Den Extension Builder gabs zu dem Zeitpunkt noch nicht, mittlerweile ist der verfügbar unter:
https://github.com/FriendsOfTYPO3/extension_builder
Es lohnt sich auch in ext_scaffold von Helmut Hummel zu schauen, da wird vieles erklärt:
Facebook Vorschaubild mit TYPO3
Facebook verwendet die OpenGraph Tags, um daraus die Vorschaubilder und Texte zu generieren. Mit diesem Typoscript kann man aus den Seiteneigenschaften (Media) die notwendigen Codes generieren: Weiterlesen
Colspan in Typo3 Tabellen
Das TYPO3 Content Element „Tabelle“ unterstützt bisher keine „colspan“ Eigenschaft. Daher habe ich einen ViewHelper geschrieben um das zu ergänzen. Weiterlesen
Extbase: Text als RTE formatieren
Um Textfeld als RTE zu formatieren gibt es mehrere Möglichkeiten:
Fluid Rendering
Die einfachste Möglichkeit ist das Rendering über Fluid – man übergibt die Variable und f:format.html übernimmt den Rest. Weiterlesen
Powermail Layout Dropdown anpassen
Jedes Powermail Feld hat ein Dropdown „Layout“, das mit Layout 1, Layout 2, usw. vorausgefüllt ist. Wenn man diese Werte überschreiben will muss man folgendes tun: Weiterlesen
Could not load partial file Menu/Type-15
Diese Fehlermeldung erscheint, wenn man sich in TYPO3 7.6 eine Sitemap anzeigen lassen will:
Could not load partial file. Tried following paths: (…) typo3/sysext/fluid_styled_content/Resources
/Private/Partials/Menu/Type-15″
Ursache ist, dass in der fluid_styled_content Extension eine Template Datei fehlt. Da man den Core nicht verändern sollte, gibt es folgende Lösung: Weiterlesen
Migrate textmedia Fehler beim TYPO3 Update
Beim Update auf 7.6 oder 8.7 kann es sein, dass diese Update Funktion einen Fehler hat:
Migrate CTypes text, image and textpic to textmedia and move file relations from „image“ to „asset_references“
Update failed! SQL-ERROR: Column 'assets' cannot be null
Auch bei Update auf 8.7 kann dieser Fehler auftreten:
SQL-ERROR: Data truncated for column 'media' at row 6
Ursache sind Konvertierungs-Fehler von Text nach Integer, die Werte NULL oder „“ werden nicht richtig konvertiert. Es kann auch von der FAL Konvertierung noch der Filename als String in dem Feld stehen.
Mit diesem SQL Befehl kann man sich erst mal alle Einträge anzeigen lassen: Weiterlesen
mysql_real_escape_string mit PHP7
Die Funktion mysql_real_escape_string ist in PHP7 nicht mehr vorhanden. Man kann sie folgendermaßen ersetzen:
mysqli_real_escape_string($GLOBALS['TYPO3_DB']->getDatabaseHandle(),$string);
Wenn man mit Search-Replace über den gesamten Code geht, folgendes eingeben:
Search: mysql_real_escape_string( Replace: mysqli_real_escape_string($GLOBALS['TYPO3_DB']->getDatabaseHandle(),