Typo3 7: Bilder im RTE aktivieren

23. August 2016

Offenbar ist die Bilder-Funktion nicht standardmäßig aktiviert. Man kann dies ändern unter Extensions -> HtmlArea RTE -> Configure -> Enable images in the RTE.
rte

Typo3 7: manuelles Frontend-einloggen will nicht funktionieren

22. August 2016

In einer Typo3 7.6.10 Installation musste ich Frontend-User via Ajax manuell einloggen. Das wollte partout nicht funktionieren und beim Betrachten der $GLOBALS[‘TSFE’] fiel mir auf, dass fe_user->user zwar gesetzt war, dass $GLOBALS[‘TSFE’]->loginUser aber immer wieder zurückgesetzt wurde nach dem neuladen der Seite. Irgendwann war mir das googeln zu blöd und ich hab im Typo3 source das Problem in der initUserGroups in sysext/frontend/Classes/Controller/TypoScriptFrontendController.php gefunden: mein User hatte einfach keine fe_groups zugewiesen (d.h. die Spalte “usergroup” in fe_users war leer). Sobald ich dort eine gültige fe_groups ID eingetragen habe, klappte der manuelle Frontend Login folgendermaßen:

  1. $loginData = array(
  2. 'username' => $username,
  3. 'uident_text' => $password,
  4. 'status' => 'login',
  5. );
  6. $GLOBALS['TSFE']->fe_user->checkPid = 0;
  7. $info = $GLOBALS['TSFE']->fe_user->getAuthInfoArray();
  8. $user = $GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'], $loginData['username']);
  9. //check password etc.
  10. if ($this->loginSuccessful($user, $password)) {
  11. $tsfe = $GLOBALS['TSFE'];
  12. $tsfe->fe_user->createUserSession($user);
  13. $tsfe->fe_user->setAndSaveSessionData('dummy', TRUE);
  14. $tsfe->loginUser = 1;
  15. return json_encode(['status' => 'success']);
  16. }

Typo3: nach dem Übersiedeln auf einen anderen Server sind die Bilder plötzlich weg

18. August 2016

Nach dem Überspielen einer existierenden Typo3 Instanz (7.6.10) waren plötzlich alle Bilder weg und im Backend unter “Filelist” sagte es mir, dass ich keinen Zugriff auf den Fileadmin Ordner
habe. Stellt sich heraus, beim ersten Versuch habe ich wohl die Permissions versemmelt oder sowas, jedenfalls hat sich “is online?” auf 0 gestellt und damit ging dann gar nichts mehr. Also im List-View auf den root-Knoten klicken, File-Storage “Fileadmin” bearbeiten und “is online?” wieder auf 1 stellen.

Gedmo Softdeletable einfach aushebeln

05. August 2016

Gedmo Softdeletable hilft dabei, Datensätze nicht komplett aus der Datenbank zu löschen, sondern ein deletedAt zu setzen. Prinzipiell eine gute Sache, allerdings brauchte ich für eine bestimmte Spalte die Möglichkeit, die Funktionalität kurzzeitig auszuhebeln und die Datensätze tatsächlich aus der Datenbank zu löschen. Offenbar gibt es hier einen Trick, und zwar das deletedAt Feld direkt zu setzen mit new \DateTime:

  1. $em->setDeletedAt(new \DateTime());
  2. $em->remove($item);
  3. $em->flush();

Diesen Trick habe ich im Beitrag von Keksa ganz unten gefunden.