Sunday, April 19, 2015

Wie kann ich die Extension mm_forum unter TYPO3 6.2 nutzen/updaten?

Zwei Versionen der Extension mm_forum, angepasst fuer TYPO3 6.2:


1. version 1.11-dev (12.11.2014 ?)

gefunden auf:
http://die-netzmacher.de/titel/mm-forum-fuer-typo3-62/


2. version 1.10-dev (letzte aenderung: 2015-03-06)

(UPDATE 2015-06-08: seit dem 2015-03-06 sind weitere Aenderungen vorgenommen worden, evtl. untenstehende Bugs gefixed worde. Noch nicht ueberprueft.)

gefunden auf:
https://github.com/TYPO3-extensions/mm_forum

...sieht etwas besser aus: namespaces eingefuehrt, offenbar Abhaengigkeiten zu lib/div entfernt.

Ansonsten haben beide Versionen der Extension offenbar etwa den gleichen Entwicklungsstand.

Es finden sich aber in beiden Versionen auch diverse Fehler:



Fehler nur in 1.10-dev:

Forum-Suche:
PHP-Fehler: Fatal error: Call to a member function exec_SELECTquery() on a non-object in .../typo3conf/ext/mm_forum/pi1/class.tx_mmforum_pi1.php on line 5133

...Loesung: in pi1/class.... (?) get_topic_id() $this->databaseHandle ergaenzen:
if (!$this->databaseHandle) {
    $this->databaseHandle = $GLOBALS['TYPO3_DB'];
}

Gemeldete Beitraege bearbeiten:
funktioniert nicht, Status wird nicht gespeichert, keine Fehlermeldung

...Loesung: im Programmcode wird "fullQuoteString" (?) verwendet, muss ersetzt werden durch intval() o.Ae., damit die SQL-Query korrekt ist (kein string, sondern integer).


Umfragen:
Umfrageergebnis wird nicht gespeichert

...Loesung: (noch unbekannt)


Fehler in beiden Versionen:

Frontend:

Icons tw. veraendert/skaliert, Icon Positionen stimmen nicht

Offenbar ein TYPO3 (6.2?) Fehler, hier wird ein GIFBUILDER-Objekt mit einem IMAGE verwendet. Ueberschreibt man das GIFBUILDER-Objekt, und verwendet nur ein IMAGE, dann wird korrekt skaliert.
(buttons < .buttons_text und buttons.small und buttons.large beachten :-) siehe im TypoScript der Extension)

Backend:

In beiden Versionen sind im Backend neue Felder/Eintraege zu sehen:
Private Nachrichten: User search fields, User search order by (in der Vorversion hier nicht vorhanden)


Ein Thread zum Thema, mit evtl. weiteren Informationen:

http://www.typo3.net/forum/thematik/zeige/thema/118297



Nach dem TYPO3 6.2 Update:


Falls Benutzer-Eingabefelder via Backend-Modul definiert sind, kann es sein dass diese nach dem Update im Frontend bei „Benutzerdaten bearbeiten“ fehlen. Hintergrund ist, dass diese Felder als TypoScript-Setup-Schnipsel in der Datenbank gespeichert werden, und das teilweise als Content-Objekt vom Typ „HTML“ – das gibt’s bekanntlich nicht mehr unter TYPO3 6.2.

So kann man das fixen:

schauen was da ist:
mysql> select config from tx_mmforum_userfields;

testlauf, so kann man’s noch rueckgaengig machen:
mysql> update tx_mmforum_userfields set config = replace(config, 'HTML', 'THIS_SHOULD_BE_TEXT');

hat’s die richtigen erwischt?
mysql> select config from tx_mmforum_userfields;

dann diese durch TEXT ersetzen:
mysql> update tx_mmforum_userfields set config = replace(config, 'THIS_SHOULD_BE_TEXT', 'TEXT');
 

Wie kann ich TYPO3 Datenbank-Abfragen debuggen? (TYPO3 6.x)

Zwei Techniken zum debuggen von TYPO3 6.x DB queries:

1. Constraints "sammeln" und ausgeben:

Beim zusammenstellen der Query die Constraints folgendermassen festhalten:

$constraints[] = $query->logicalAnd($searchConstraints);
...


Und abschliessend ausgeben:

\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($constraints);

2. SQL Query ausgeben:

/**
* Debugs a SQL query from a QueryResult
*
* @param \TYPO3\CMS\Extbase\Persistence\Generic\QueryResult $queryResult
* @param boolean $explainOutput
* @return void
*/
public function debugQuery(\TYPO3\CMS\Extbase\Persistence\Generic\QueryResult $queryResult, $explainOutput = FALSE) {
   $GLOBALS['TYPO3_DB']->debugOuput = 2;
   if ($explainOutput) {
      $GLOBALS['TYPO3_DB']->explainOutput = true;
   }
   $GLOBALS['TYPO3_DB']->store_lastBuiltQuery = true;
   $queryResult->toArray();
   DebuggerUtility::var_dump($GLOBALS['TYPO3_DB']->debug_lastBuiltQuery); 
   $GLOBALS['TYPO3_DB']->store_lastBuiltQuery = false;
   $GLOBALS['TYPO3_DB']->explainOutput = false;
   $GLOBALS['TYPO3_DB']->debugOuput = false;
}

...und dann zur Ausgabe z.B.:

$events = $this->eventRepository->findDemanded($demand, $limit); $this->debugQuery($events);


Quelle:
http://blog.undkonsorten.com/sql-queries-debuggen-in-typo3

Monday, April 6, 2015

Wie kann ich die Extension "linkhandler" unter TYPO3 6.x nutzen? Gibt es ein Update fuer "linkhandler" fuer TYPO3 6.x?

Cobweb's linkhandler befindet sich hier:

https://github.com/cobwebch/linkhandler/

In der momentan aktuellen Version 1.1.0 scheint dieser zu funktionieren und ist kompatibel mit der letzten TER version von aoe's linkhandler (0.3.1)


Daneben finden sich (mindestens) noch folgende linkhandler auf github:

https://github.com/Intera/typo3-extension-linkhandler

...mit geaenderter TypoScript-Konfiguration, offenbar nicht kompatibel zum aoe linkhandler 0.3.1

https://github.com/AOEpeople/linkhandler/

...(nicht getestet)

https://github.com/jacrasmussen/linkhandler

...(nicht getestet)

https://github.com/typo3-ter/linkhandler

...ist offenbar die veraltete TER-version 0.3.1

(
inspire-to-share gone horribly wrong.... ;-)
)



Ein Thread zum Thema, mit evtl. weiteren Informationen:

http://www.latita.de/2014/09/typo3-6-2-x-und-der-aoe-linkhandler/