-
Bundle für FE Module
Hallo Community,
ich soll für einen Kunden ein individuelles Bundle (Extension) schreiben.
Dafür habe ich mir jetzt ein paar Contao Convention Videos auf Youtube angeschaut und zumindest schon mal ein composer Paket bereitstellen können, welches zusätzliche Pakete required (z.B. fpdf) und
auch unter src entsprechend eine Bundle Class angelegt. Mit composer habe ich dies dann auch alles recht schnell integriert bekommen.
Leider tut dieses Bundle derzeit gar nichts, weder im Backend, noch Frontend. Es soll ein Frontend Plugin (heißt das hier noch so?) ermöglichen, welches ein simples Formular und dessen Auswertung bereit stellt.
Wie nähere ich mich dem an? Gibt es überschaubare Bundles im Netz, von denen man sich dabei inspirieren lassen kann?
Ich frage vor allem deswegen, weil ich nicht anfangen möchte "so wie früher" Erweiterungen zu schreiben, sondern gleich ordentlich mit Eventlistenern und Symfony zu arbeiten.
composer.json (inhaltlich vereinfacht wegen Datenschutz)
Code:
{
"type": "contao-bundle",
"name": "vendor/bundlename",
"description": "...",
"keywords": ["php", "contao"],
"license": // ...
"authors": [
{
// ...
}
],
"autoload": {
"psr-4": {
"VENDOR\\BUNDLENAME\\": "src"
}
},
"require": {
"php": ">= 7.2",
"setasign/fpdf": "~1.8"
}
}
src/BundlenameBundle.php
Code:
<?php
namespace Vendor\Bundlename;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class BundlenameBundle extends Bundle
{
}
Dateistruktur:
- composer.json
- LICENSE
- README.md
- src/BundlenameBundle.php (hier ist die um Bundle erweiterte Bundlename Class drin)
- src/Resources/contao/config/config.php
- src/Resources/contao/dca
- src/Resources/contao/languages
- src/Resources/contao/templates
Danke für jede Hilfe schon mal vorweg :)
-
-
Danke erst mal :) Große Hilfe das Bundle :)
Da habe ich mir jetzt mal einiges raus genommen und ich glaube auch alles verstanden zu haben.
An sich kann man jetzt schone in ContentElement von meinem Typen anlegen.
Allerdings habe ich leider noch keine Contao Erweiterung geschrieben.
Kannst du mir vielleicht kurz noch erklären, was passiert, wenn ich ein FrontendTemplate 'asdf' anspreche?
Wo muss das liegen? Kann ich die auch aus dem Bundle callen?
Code:
$this->strTemplate = 'asdf';
$this->Template = new FrontendTemplate($this->strTemplate);
$this->Template->wildcard = "Hello World";
-
Ah ich hab es selber schon verstanden.
Kann einfach unter Resources/contao/templates gelegt werden ;D