Wieso ein JS/Ajax-Problem? Zu dem Zeitpunkt wird ja noch garkein Request abgesetzt, es scheitert bereits der Modulaufruf. Aber die JS-Fehlerkonsole könntest Du natürlich trotzdem mal aufrufen, ob die irgendwas anzeigt.
Hast Du denn in die tl_module.php auch mal reingeschaut? Da ist ein onload_callback mit der Methode drin.
'onload_callback' => array
(
array('Klasse', 'Methode')
)
Code:
/** |
* Table tl_module |
*/ |
$GLOBALS['TL_DCA']['tl_module'] = array |
( |
|
// Config |
'config' => array |
( |
'dataContainer' => 'Table', |
'ptable' => 'tl_theme', |
'enableVersioning' => true, |
'onload_callback' => array |
( |
array('tl_module', 'checkPermission') |
), |
'sql' => array |
( |
'keys' => array |
( |
'id' => 'primary' |
) |
) |
), |
Die Funktion check_permissions() hat keine Parameter. Da wird nur return zurückgegeben, wenn der Benutzer Adminrechte hat.
In der if-Abfrage darunter wird Dein Fehler ausgelöst. Du könntest nur mal so zum Testen in check_permissions ungeprüft return zurückgeben. Und die if-Abfrage ganz auskommentieren. Mal schauen, was dann passiert, ob Du nun das PopUp auch als Normalbenutzer aufrufen kannst und den Bilderupload durchführen. Keine Lösung, nur als Beleg, wo der Bremsklotz sitzt. Dass in der tl_module.php ein Bug ist, halte ich für unwahrscheinlich. Anderenfalls würden vermutlich auch andere Modulaufrufe scheitern. Ich glaube, Dein Problem wird woanders verursacht. Vielleicht doch irgendein Benutzer- oder Gruppenrecht nicht gesetzt? In anderen Installationen funktionierts doch auch, hatte noch in keinem Contao Release dieses Problem.
Code:
/** |
* Check permissions to edit the table |
*/ |
public function checkPermission() |
{ |
if ($this->User->isAdmin) |
{ |
return; |
} |
|
if (!$this->User->hasAccess('modules', 'themes')) |
{ |
$this->log('Not enough permissions to access the modules module', __METHOD__, TL_ERROR); |
$this->redirect('contao/main.php?act=error'); |
} |
} |
Lesezeichen