Hey,
nochmal eine Frage zur Elementgruppe. Kann ich die Inhaltselemente, die in einer Elementgruppe verwendet werden, begrenzen?
Gruß
Marco
Druckbare Version
Hey,
nochmal eine Frage zur Elementgruppe. Kann ich die Inhaltselemente, die in einer Elementgruppe verwendet werden, begrenzen?
Gruß
Marco
Es ist grundsätzlich vorgesehen, dass man bei Nested Content Elements beim Parent Content Element Type angeben kann, welche Inhaltselemente erlaubt sind. Wenn du dir selbst eines baust kannst du das so definieren:
(ungetestet)PHP-Code:
#[AsContentElement(category: 'miscellaneous', nestedFragments: ['allowedTypes' => ['image']])]
Ich versuche gerade das erste Mal, ein eigenes Inhaltselement anzulegen.
Häng dabei, die Klasse für das Inhaltselement anzulegen, finde einfach diesen Ordner nicht "// src/Controller/ContentElement/ExampleElementController.php" wo ich diese Datei anlegen soll.
Muss ich den Ordner in meinem Contao-Root selbst anlegen?
Bekomme jetzt folgende Fehlermeldung beim Cache löschen, wenn ich das Inhaltselement über das Service Tag "contao.content_element" registrieren will.
Fehlermeldung: "The service "contao.fragment._contao.content_element.element_g roup_flex" has a dependency on a non-existent service "Psr\Container\ContainerInterface"."
config/services.yaml
Weiß nicht was ich falsch mache.Code:services:
App\Controller\ContentElement\ElementGroupFlex:
tags:
-
name: contao.content_element
category: texts
Die services.yaml brauchst du nicht unbedingt. Der Fehler passiert, weil du diese services.yaml angelegt hast, mit diesem Inhalt. Wenn du die services.yaml anlegen willst, dann eher so wie in der Dokumentation beschrieben.
Okay, Danke. Ich habe jetzt ein eigenes Inhaltselement. Erst mal nur mit einer Überschrift und Text.
Ich weiß nur nicht, wie ich es schaffe, das Inhaltselement Elementgruppe zu erstellen.
Kannst du mir da auch noch mal weiterhelfen?
Was genau meinst du mit "das Inhaltselement Elementgruppe erstellen"?
Mein Ziel ist es, ein eigenes Inhaltselement für das Standard-Element „Elementgruppe“ zu erstellen. Damit ich, wie du oben beschrieben hast, die Kind-Inhaltselement von der Elementgruppe einschränken kann.
Achso naja, wie schon oben erwähnt kannst du im Attribute "nestedFragments" angeben. Wenn du einfach nur "true" angibst, dann ist das Element ein Nested Fragment, also es kann Kindelemente haben. Wenn du statt "true" aber ein Array and Inhaltselement Types übergibst, dann wird die erlaubte Auswahl darauf beschränkt.
Danke, jetzt habe ich es. Mir war nicht klar, wo das hin muss.