[TYPO3-german] BE-Modul einspaltig (wie Kickstarter)

Rainer Schleevoigt rainer at webmasterei-hamburg.de
Fri Oct 22 10:32:21 CEST 2010


  Am 10/21/10 12:08 PM, schrieb Rainer Schleevoigt:
>  Am 10/21/10 11:55 AM, schrieb Felix Nagel:
>> Ich hatte das mal für ne Statistik Extension mit Modul gebraucht und kam
>> dann zu der Feststellung das es wohl nur im Admin Module Bereich möglich
>> ist.
>>
>
Es geht so:

Mit dem Kickstarter ein völlig neues Modul anlegen. Ambesten macht man 
zwei, damit ersteres der Toppunkt ist.
So etwa:

if (TYPO3_MODE == 'BE') {
     t3lib_extMgm::addModulePath('txauswertugM1', 
t3lib_extMgm::extPath($_EXTKEY) . 'mod1/');
     t3lib_extMgm::addModule('txauswertugM1', '', '', 
t3lib_extMgm::extPath($_EXTKEY) . 'mod1/');
     t3lib_extMgm::addModulePath('txauswertugM1_txauswertugM2', 
t3lib_extMgm::extPath($_EXTKEY) . 'mod2/');
     t3lib_extMgm::addModule('txauswertugM1', 'txauswertugM2', '', 
t3lib_extMgm::extPath($_EXTKEY) . 'mod2/');
}

Dann entsteht das gewünschte Verhalten. Allerdings kann jetzt der 
Nichtadmin die rechte Seite scheinbar nicht aufrufen. Es liegt daran, 
dass $this->id leer ist (da der Nichtadmin eine Seite wählen muss um die 
Zugangsberechtigung zu testen). Das ist ein Bug oder Feature. Jedenfalls 
wird die Ausgabe des Moduls über:

     $this->pageinfo = 
t3lib_BEfunc::readPageAccess($this->id,$this->perms_clause);
     $access = is_array($this->pageinfo) ? 1 : 0;
     if (  ($this->id && $access) || ($BE_USER->user['admin'] && 
!$this->id))    {

gefiltert.  Man müsste diese Abfrage also komplett rausnehmen und dann 
auf die Sicherheit vertrauen, das der Redakteur über das Modulfilter 
erzogen wird. Eine Filterung über Seiten ist natürlich nicht möglich, da 
es die nicht gibt. ;-))

Gruß Rainer



-- 
Webmasterei Hamburg
Dipl.-Ing. R. Schleevoigt / TYPO3 Certified Integrator
Ust-ID:  DE239491976
mail:rainer at webmasterei-hamburg.de
http://webmasterei.com
22303 Hamburg | Novalisweg 10
+49 40 27806982 | skype:kontaktschmied



More information about the TYPO3-german mailing list