News

DBAL Patches für diverse Extension

Nicht alle Extensions sind DBAL konform und können z.b. mit PostgreSQL genutzt werden.

Damit Typo3 mit anderen Datenbankbackends zusammenarbeitet benötigt man DBAL und AdoDB. Diese beiden Extensions schalten sich zwischen Typo3 und der Datenbank und stellen die angefragten SQL Statements in die jeweilige Datenbanksprache um.

Damit die SQL Statements aber auch an die DBAL Extension weitergereicht werden können, müssen auch die Typo3 eigenen Abfragefunktionen genutzt werden. Ebenfalls sollte man MySQL Spezifische SQL Funktionen vermeiden und sauberes SQL schreiben.

Nicht alle Extensions nutzen die Typo3 Abfragefunktionen oder beinhalten immer sauberes SQL.

Für folgende Extensions haben wir Patches geschrieben, die die Extension DBAL Konform oder mit DBAL nutzbar machen:

  • th_mailformplus
    • Patch ist schon im TER enthalten
    • es wird ein direkter MySQL Aufruf in die TYPO3 Abfragefunktion ersetzt
  • tt_news
    • der unsabere Einsatz von DISTINCT wird gefixed
    • GROUP BY Funktion wird auskommentiert, nicht alle benötigten Felder angegeben werden und somit ein SQL Fehler entsteht
  • dam
    • kleinere Fehler bei SQL Statements

Damit Typo3 mit DBAL und RealURL funktioniert muss bei der Konfiguration, soweit nicht schon geschehen, folgendes angepasst werden:

----
      'postVarSets' => array(
            '_DEFAULT' => array(
                // news archive parameters
                'archive' => array(
                    array(
                        'GETvar' => 'tx_ttnews[year]' ,
                        ),
                    array(
                        'GETvar' => 'tx_ttnews[month]' ,
                            'valueMap' => array(
                            'january' => '01',
                            'february' => '02',
                            'march' => '03',
                            'april' => '04',
                            'may' => '05',
                            'june' => '06',
                            'july' => '07',
                            'august' => '08',
                            'september' => '09',
                            'october' => '10',
                            'november' => '11',
                            'december' => '12',
                            )
                        ),
                    ),
                // news pagebrowser
                'browse' => array(
                    array(
                        'GETvar' => 'tx_ttnews[pointer]',
                        ),
                        'valueMap' => array(
                            'weiter' => '1',
                            'weiter' => '2',
                        )
                    ),
                // news categories
                'select_category' => array (
                    array(
                        'GETvar' => 'tx_ttnews[cat]',
                        'lookUpTable' => array(
                            'table' => 'tt_news_cat',
                            'id_field' => 'uid',
                            'alias_field' => 'title',
                            'addWhereClause' => ' AND deleted = 0',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                'strtolower' => 1,
                                'spaceCharacter' => '-',
                                ),
                            ),
                        ),
                    ),
                // news articles and searchwords
                'article' => array(
                    array(
                        'GETvar' => 'tx_ttnews[tt_news]',
                        'lookUpTable' => array(
                            'table' => 'tt_news',
                            'id_field' => 'uid',
                            'alias_field' => 'title',
                            'addWhereClause' => ' AND deleted = 0',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                'strtolower' => 1,
                                'spaceCharacter' => '-',
                                ),
                            ),
                        ),
                    array(
                        'GETvar' => 'tx_ttnews[swords]',
                        ),
                    ),
                ),            
            ),
----

Die Fett-Markierten Zeilen müssen angepasst werden.


Newsnavigation

Weitere News

20
Aug
2007

SELECT Statements auf Slave DB noch nicht möglich.



20
Aug
2007

Verschiedene Domains auf verschiedene Seiten im gleichen Baum - da reicht das Domainobjekt nicht aus.



14
Aug
2007

Nicht alle Extensions sind DBAL konform und können z.b. mit PostgreSQL genutzt werden.