Ich habe eine Kopie des FAQ-Bundles erstellt, um damit Datensätze kategorisiert zu verwalten. Mein Bundle ist in der Contao-Installation lokal in src/ hinterlegt. In der ursprünglichen DCA-Datei src/Resources/contao/dca/tl_faq.php gibt es in der Funktion generateAlias der Klasse tl_faq einen Verweis auf das Kategorie-Model Contao\FaqCategoryModel. Diesen Verweis habe ich durch mein eigenes Kategorie-Model ersetzt, was dazu führt, dass ich beim Anlegen eines neuen Items folgenden Fehler erhalte:

Uncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundExc eption: "Attempted to load class "ProductCategoryModel" from namespace "Plusx". Did you forget a "use" statement for another namespace?" at /var/www/plusx/htdocs/contao44/var/cache/dev/contao/dca/tl_product.php line 387
Das Anlegen von Kategorien hat wie gewünscht funktioniert, nur das Anlegen von Items innerhalb einer Kategorie ist begroffen. Nach meiner Recherche muss ich meine Models dem System bekannt machen, sofern sie nicht im globalen Namespace verfügbar sind. Das habe ich folgendermaßen in der config.php getan:

PHP-Code:
$GLOBALS['TL_MODELS']['tl_product'] = 'Plusx\ProductModel';
$GLOBALS['TL_MODELS']['tl_product_category'] = 'Plusx\ProductCategoryModel'
Leider bleibt der Fehler bestehen. Hier die Funktion auf die sich die Fehlermeldung bezieht:

PHP-Code:
/**
     * Auto-generate the Product alias if it has not been set yet
     *
     * @param mixed                $varValue
     * @param Contao\DataContainer $dc
     *
     * @return mixed
     *
     * @throws Exception
     */
    
public function generateAlias($varValueContao\DataContainer $dc)
    {
        
$aliasExists = function (string $alias) use ($dc): bool
        
{
            return 
$this->Database->prepare("SELECT id FROM tl_product WHERE alias=? AND id!=?")->execute($alias$dc->id)->numRows 0;
        };

        
// Generate alias if there is none
        
if ($varValue == '')
        {
            
$varValue Contao\System::getContainer()->get('contao.slug')->generate($dc->activeRecord->titlePlusx\ProductCategoryModel::findByPk($dc->activeRecord->pid)->jumpTo ?? null$aliasExists);
        }
        elseif (
$aliasExists($varValue))
        {
            throw new 
Exception(sprintf($GLOBALS['TL_LANG']['ERR']['aliasExists'], $varValue));
        }

        return 
$varValue;
    } 
Ich habe ebenfalls versucht ein use-Statement vor der Klassen-Definition zu setzen, das hat aber auch nicht geholfen.

Was muss ich tun, um hier auf mein Model verweisen zu können?