Ergebnis 1 bis 3 von 3

Thema: Symfony Bundle via Contao Manger installieren und nutzen

  1. #1
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Frage Symfony Bundle via Contao Manger installieren und nutzen

    Hallo Zusammen,

    ich nutze ein AppBundle in Verbindung mit dem Contao Manager. Das funktioniert soweit ohne Probleme. Nun benötige ich jedoch das eightpoints/guzzle-bundle und habe es via Contao Manager ohne Probleme installiert. Aber wie kann ich nun das Bundle laden? Muss ich eine AppBundle\ContaoManager\Plugin.php erstellen und darin das Bundle laden?

    Nutzen möchte ich das ganze dann so im Contao code:

    PHP-Code:
    $container = \System::getContainer();

    /** @var \GuzzleHttp\Client $client */
    $client $container->get('eight_points_guzzle.client.api_crm');

    ... 
    Aktuell bekomme ich eine ServiceNotFoundException
    Bei Contao seit 2.7.5

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Du kann ein ContaoManagerPlugin im Root-Namespace erstellen und die Abhängigkeit darin laden. Musst nur schauen, dass es vom Autoloading mit berücksichtigt wird.

  3. #3
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard Danke hat geklappt

    Hab es jetzt so gelöst:

    app/ContaoManagerPlugin.php

    PHP-Code:
    <?php

    use AppBundle\AppBundle;
    use 
    Contao\CoreBundle\ContaoCoreBundle;
    use 
    Contao\ManagerPlugin\Bundle\BundlePluginInterface;
    use 
    Contao\ManagerPlugin\Bundle\Config\BundleConfig;
    use 
    Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
    use 
    EightPoints\Bundle\GuzzleBundle\EightPointsGuzzleBundle;

    class 
    ContaoManagerPlugin implements BundlePluginInterface
    {
        public function 
    getBundles(ParserInterface $parser)
        {
            return [
                
    BundleConfig::create(EightPointsGuzzleBundle::class)
                    ->
    setLoadAfter([ContaoCoreBundle::class]),
                
    BundleConfig::create(AppBundle::class)
                    ->
    setLoadAfter([ContaoCoreBundle::class, EightPointsGuzzleBundle::class])
                    ->
    setReplace(['app']),
            ];
        }
    }
    composer.json

    PHP-Code:
    {
        ...
        
    "autoload": {
            
    "psr-4": {
                
    """src/"
            
    },
            
    "classmap": [
                
    "app/ContaoManagerPlugin.php"
            
    ]
        },
        ...

    Composer install & Cache leeren und dann ging es. Danke!
    Bei Contao seit 2.7.5

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •