Hallo zusammen,
ich stehe gerade vor einem Problem, das mich zur Verzweiflung bringt. Ich habe ein Bundle geschrieben, scheitere aber am einlesen der Plugin-Klasse. Ich bin aber 100%ig sicher, alles richtig eingetragen zu haben.
Die Dateistruktur sieht wie folgt aus:
_external/BohnMedia/NgcContact/composer.json
_external/BohnMedia/NgcContact/src/NgcContactBundle.php
_external/BohnMedia/NgcContact/src/ContaoManager/Plugin.php
composer.json
Code:
{
"name":"bohnmedia/contao-ngccontact-bundle",
"description":"Send approval link before process contact mails",
"keywords":["contao","contact","mail"],
"type":"contao-bundle",
"homepage":"https://bohn.media",
"license":"MIT",
"authors":[
{
"name":"bohn.media",
"homepage":"https://bohn.media",
"role":"Developer"
}
],
"require": {
"contao/core-bundle":"~4.4"
},
"conflict": {
"contao/core": "*",
"contao/manager-plugin": "<2.0 || >=3.0"
},
"extra": {
"contao-manager-plugin": "BohnMedia\\NgcContactBundle\\ContaoManager\\Plugin"
},
"autoload":{
"psr-4": {
"BohnMedia\\NgcContactBundle\\": "src/"
}
}
}
src/NgcContactBundle.php
PHP-Code:
<?php
namespace BohnMedia\NgcContactBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class NgcContactBundle extends Bundle
{
}
src/ContaoManager/Plugin.php
PHP-Code:
<?php
namespace BohnMedia\NgcContactBundle\ContaoManager;
use Contao\CoreBundle\ContaoCoreBundle;
use Contao\ManagerPlugin\Bundle\BundlePluginInterface;
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
use BohnMedia\NgcContactBundle\NgcContactBundle;
class Plugin implements BundlePluginInterface
{
/**
* {@inheritdoc}
*/
public function getBundles(ParserInterface $parser)
{
return [
BundleConfig::create(NgcContactBundle::class)
->setLoadAfter([ContaoCoreBundle::class]),
];
}
}
Wenn ich versuche, das Bundle über den Contao-Manager zu installieren, erhalte ich folgende Fehlermeldung.
Code:
In ManagerPluginInstaller.php line 193:
The plugin class "BohnMedia\NgcContactBundle\ContaoManager\Plugin" was not
found.
Bisher konnte ich andere Bundles immer nach diesem Prinzip laden. In diesem Falle weitert sich Contao aber die Plugin.php zu laden. Ich habe schon versteckte Zeichen im Verdacht, die im Editor nicht angezeigt werden. Oder habe ich was übersehen?`
Vielen Dank für eure Hilfe!
Das Bundle ist über die composer.json wie folgt eingebunden.
Code:
{
"name": "contao/managed-edition",
"type": "project",
"description": "Contao Open Source CMS",
"license": "LGPL-3.0-or-later",
"authors": [
{
"name": "Leo Feyer",
"homepage": "https://github.com/leofeyer"
}
],
"require": {
"php": "^5.6 || ^7.0",
"bohnmedia/contao-ngccontact-bundle": "dev-master",
"contao-bootstrap/grid": "~2.0",
"codefog/contao-cookiebar": "^2.1",
"contao/calendar-bundle": "^4.4",
"contao/comments-bundle": "^4.4",
"contao/conflicts": "*@dev",
"contao/faq-bundle": "^4.4",
"contao/listing-bundle": "^4.4",
"contao/manager-bundle": "4.4.*",
"contao/news-bundle": "^4.4",
"contao/newsletter-bundle": "^4.4",
"delahaye/dlh_googlemaps": "^2.4",
"terminal42/contao-changelanguage": "^3.1",
"terminal42/notification_center": "^1.4"
},
"conflict": {
"contao/core-bundle": "<4.4.8",
"symfony/security": "3.4.8 || 4.0.8"
},
"config": {
"component-dir": "assets"
},
"extra": {
"branch-alias": {
"dev-4.4": "4.4.x-dev"
}
},
"scripts": {
"post-install-cmd": [
"Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
],
"post-update-cmd": [
"Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication"
]
},
"repositories": [
{
"type": "path",
"url": "_external/BohnMedia/NgcContact"
}
]
}