[TYPO3-german] pi_exec_query in Backend TCA
Dr. Ronald P. Steiner
Ronald.Steiner at googlemail.com
Fri Jul 11 15:21:16 CEST 2008
Hallo Dimitri,
vielen Dank!
t3lib_BEfunc::BEenableFields($table) funktioniert perfekt.
Anstatt pi_exec_query verwende ich im BE nun die Funktion:
$GLOBALS['TYPO3_DB']->exec_SELECT_queryArray
Ich habe mit viel Mühe über FROM und WHERE die Kategorie-Beschränkung
nachgebaut. Es funktioniert nun jedenfalls.
Danke!
beste Grüße
Ron
Dimitri Ebert schrieb:
> Hallo Ronald,
>
> enableFields für backend t3lib_BEfunc::BEenableFields($table)
> und sont würde ich wieder auf
> exec_SELECT_mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause='',$groupBy='',$orderBy='',$limit='')
> aus t3lib_DB
> hinweisen, die Kategoriebeschränkung soll dann in whereClause
>
> Gruß Dimitri
>
> Dr. Ronald P. Steiner schrieb:
>> Hallo Christopher,
>>
>> vielen Dank für Deine Antwort. Aber das ist nicht mein Problem. Ich
>> komme mit TCA generell ganz gut zurecht, und kann generell schon eine
>> Liste mit Items in einer Select-Box ausgeben oder . Nur ich kann nicht
>> auf diese spezielle php Funktion (pi_exec_query) zurückgreifen, da die
>> zugehörige Klasse und ganze Klassen-Struktur im BackEnd nicht verfügbar ist.
>> Auch auf die Funktion $this->cObj->enableFields() kann ich nicht zugreifen.
>>
>> beste Grüße
>>
>> Ron
>>
>>
>> Christopher Schnell schrieb:
>>
>>> Hallo Ronald,
>>>
>>> ich kann dir nur die Lektüre der TCA Deku ans Herz legen:
>>> Generell:
>>> http://typo3.org/documentation/document-library/core-documentation/doc_core_api/current/view/
>>>
>>> Speziell vielleicht zu deinem Problem:
>>> http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/4/2/#id4230585
>>>
>>>
>>> Falls du es gerne weniger Abstrakt und auf deutsch hast, kann ich das
>>> Profihandbuch von Ripfel empfehlen, da steht einiges zum TCA drin,
>>>
>>> Gruss,
>>> Christopher.
>>>
>>> Dr. Ronald P. Steiner schrieb:
>>>
>>>> Hallo Liste,
>>>>
>>>>
>>>> ich möchte im BackEnd (TCA) alle Zeilen der tx_dam DB-Tabelle
>>>> anzeigen, die zu bestimmten Kategorien gehören. Im FrontEnd
>>>> (ContentElement) mache ich das so:
>>>>
>>>> $items = array();
>>>> $table = 'tx_dam';
>>>> $addWhere = $this->cObj->enableFields($sourceTable);
>>>> $mm_cat = array(
>>>> 'table' => 'tx_dam_cat',
>>>> 'mmtable' => 'tx_dam_mm_cat',
>>>> 'catUidList' => '3,7'
>>>> );
>>>> $this->internal['results_at_a_time'] = 1000;
>>>> $this->conf['pidList'] = 1;
>>>> $res = $this->pi_exec_query($table,0,$addWhere,$mm_cat);
>>>> while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
>>>> $items[] = $row;
>>>> }
>>>> debug($items)
>>>>
>>>> Im Back-End geht das allerdings nicht, da pi_exec_query in die Klasse
>>>> tslib_pibase gehört. Das kann ich zwar umgehen mit den Zeilen:
>>>>
>>>> require_once('C:/xampp/htdocs/t3421/typo3/sysext/cms/tslib/class.tslib_pibase.php');
>>>>
>>>> ....
>>>> $test = t3lib_div::makeInstance('tslib_pibase');
>>>> $res = $test->pi_exec_query($table,0,$addWhere,$mm_cat);
>>>>
>>>> Doch dann kommt schon das nächste Problem:
>>>>
>>>> Fatal error: Call to a member function enableFields() on a non-object
>>>> in C:\xampp\htdocs\t3421\typo3\sysext\cms\tslib\class.tslib_pibase.php
>>>> on line 1060
>>>>
>>>> Hat jemand eine Idee, wie ich entweder die Funktion pi_exec_query im
>>>> BE nutzen kann, oder anderweitig aus einer DB-Tabelle alle Zeilen
>>>> auslesen kann, die zu einer bestimmten Kategorie gehören?
>>>>
>>>> beste Grüße
>>>>
>>>> Ron
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.netfielders.de
>>>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>>>
>>>>
>>>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>
>>
>>
More information about the TYPO3-german
mailing list