Contao Manager Edition - Plugin erstellen

Ein Contao Plugin für die Managed Edition zu erstellen ist kein Hexenwerk. Ich beginne immer mit einer Grundstruktur um das Plugin als Hülle installieren zu können.

docker-xdebug_1

Die composer.json sieht wie folgt aus:

{
  "name": "xuad/contao-car-bundle",
  "description": "Manage cars",
  "license": "LPGL",
  "type": "contao-bundle",
  "authors": [
    {
      "name": "Patrick Mosch",
      "email": "info@xuad.net"
    }
  ],
  "require": {
    "php": "^7.0",
    "symfony/framework-bundle": "^3.3",
    "contao/core-bundle": "^4.4.2"
  },
  "require-dev": {
    "contao/manager-plugin": "^2.0",
    "phpunit/phpunit": "^5.7.11"
  },
  "conflict": {
    "contao/manager-plugin": "<2.0 || >=3.0"
  },
  "autoload": {
    "psr-4": {
      "Xuad\\CarBundle\\": "src/"
    },
    "exclude-from-classmap": [
      "src/Resources/contao/config",
      "src/Resources/contao/dca",
      "src/Resources/contao/languages",
      "src/Resources/contao/templates"
    ]
  },
  "autoload-dev": {
    "psr-4": {
      "Xuad\\CarBundle\\Tests\\": "tests/"
    }
  },
  "extra": {
    "contao-manager-plugin": "Xuad\\CarBundle\\ContaoManager\\Plugin"
  }
}

Wichtig ist das ein eindeutiger Name und bei "extra" das Plugin als contao-manager-plugin registriert wird.