Mit der Erweiterung gibt es bei mir Probleme in Kombination mit dem Autoload-Creator (alle Aussagen und Zeilenangaben beziehen sich auf Vers. 3.23). Das Problem ist auch nachvollziehbar und ich habe es "durch-debug-t". Auslöser ist der Namespace "sioweb\contao\extensions\glossar" (oder das ModuleAutoload - ganz nach Geschmack). Der Autoload-Creator macht daraus "sioweb" (Zeile 209 - 215, btw.: WARUM eigentlich?) :
PHP-Code:
if ($arrConfig['register_namespaces'] && $strNamespace != 'Contao')
{
// Register only the first chunk as namespace
if (strpos($strNamespace, '\\') !== false)
{
$arrNamespaces[] = substr($strNamespace, 0, strpos($strNamespace, '\\'));
} ...
Das führt zu Kuddelmuddel beim ClassLoader, denn die Funktion "load" wird mit Parameter "NewsGlossar" aufgerufen. im statischen Array "$classes" steht die Klasse mit vollem Namespace, im Array "$namespaces" nur "sioweb", so dass sowohl isset(self::$classes[$class]) (ClassLoader.php, Zeile 145) als auch self::findClass($class)) (Zeile 156) scheitern - und die Klasse kann nicht instantiiert werden.
Zwei Workarounds: Die autoload.php händisch bearbeiten und
PHP-Code:
ClassLoader::addNamespaces(array
(
'sioweb\contao\extensions\glossar',
));
eintragen oder den Namespace auf "sioweb" reduzieren. Beides nicht so doll... jemand eine bessere Idee?