Routing über routes.yaml Hilfe
Hi Ihr alle,
langsam bin ich am verzweifeln. Mir gelingt es nicht eine route über routes.yaml einzustellen. Seit 2 Tagen suche ich rum und sehe vor lauter Bäumen den Wald nicht.
Kann mir jemand helfen.
Contao 4.13.40
Ich bekomme beim Cache erstellen,bzw. beim Aktualisieren meiner Extension die Fehlermeldung:
There is no extension able to load the configuration for "pbdkn_efgco4.controller" (in "C:\wampneu\www\co4\Github B
undles\contao-efg-bundle\src\DependencyInjection/../Resources/config\routes.yaml").
Looked for namespace "pbdkn_efgco4.controller", found "none".
Die Extension funktioniert. Ich wollte noch eine Route einfügen die ich im Backend aufrufe.
Die Route soll vom Backend aus gerufen werden.
Die Directinjection wird aufgerufen.
die Autoload Einträge
'Pbdkn\\Efgco4\\ContaoManager\\Plugin' => __DIR__ . '/..' . '/pbd-kn/contao-efg-bundle/src/ContaoManager/Plugin.php',
'Pbdkn\\Efgco4\\Controller\\Ajax\\EfgRequestClass' => __DIR__ . '/..' . '/pbd-kn/contao-efg-bundle/src/Controller/Ajax/EfgRequestClass.php',
'Pbdkn\\Efgco4\\DependencyInjection\\PbdknContaoEf gco4Extension' => __DIR__ . '/..' . '/pbd-kn/contao-efg-bundle/src/DependencyInjection/PbdknContaoEfgco4Extension.php',
Der Dump der Routen via
vendor\bin\contao-console debug:router
zeigt die Route nicht an.
Mein routes.yaml sieht so aus
# config/routes.yaml liegt in src/Resources/config.yaml
PHP-Code:
pbdkn_efgco4.controller:
resource: ../../Controller
type: annotation
mein controller liegt in src/Controller/Ajax
der Controller selbst sieht so aus
PHP-Code:
[B]namespace Pbdkn\Efgco4\Controller\Ajax[/B];
use Contao\ContentModel;
use Contao\CoreBundle\Framework\ContaoFramework;
use Symfony\Component\Routing\Annotation\Route;
use Contao\CoreBundle\InsertTag\InsertTagParser;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Contao\FilesModel;
use Contao\StringUtil;
use Contao\DcaUtil;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver\Exception as DoctrineDBALDriverException;
use Doctrine\DBAL\Exception as DoctrineDBALException;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
class EfgRequestClass extends AbstractController
{
private ContaoFramework $framework;
private Connection $connection;
public function __construct( ContaoFramework $framework, Connection $connection)
{
$this->framework = $framework;
$this->connection = $connection;
}
/**
* @throws \Exception
* @Route('/efg/reloadFiletree/{aktion}/{strtable}/{name}/{value}',
* name="EfgRequestClass::class\reloadFiletree",
* defaults={"_scope" = "backend"})
*/
public function reloadFiletree(string $aktion, string $strtable, string $name,string $value)
{
...
return new Response('pbd reloadFiletree EfgRequestClass');
}
}
in der Directinjection
lade ich zum Test die routes.yaml
PHP-Code:
class PbdknContaoEfgco4Extension extends Extension
{
public function load(array $configs, ContainerBuilder $container): void
{
$loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yaml');
$loader->load('routes.yaml'); // Hier kommt der Fehler der in die routes.yaml zeigt
}
}
Über jeden Tipp bin ich dankbar