<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Contao-Community - Entwickler-Fragen</title>
		<link>https://community.contao.org/de/</link>
		<description>Entwickler können hier Fragen zur Extension-Programmierung stellen
Contao-Bugs hier melden: Contao-Bugtracker auf GitHub</description>
		<language>de</language>
		<lastBuildDate>Tue, 16 Jun 2026 05:22:54 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>1</ttl>
		<image>
			<url>https://community.contao.org/de/images/misc/rss.png</url>
			<title>Contao-Community - Entwickler-Fragen</title>
			<link>https://community.contao.org/de/</link>
		</image>
		<item>
			<title>5.7.x Im Backend POST-Request verarbeiten</title>
			<link>https://community.contao.org/de/showthread.php?89336-Im-Backend-POST-Request-verarbeiten&amp;goto=newpost</link>
			<pubDate>Sat, 13 Jun 2026 10:34:55 GMT</pubDate>
			<description>Hallo! 
 
Ist sicherlich nur ein kleiner Fehler aber ich komme hier nicht weiter. Ich habe mir im Backend einen Controller mit eigener Route...</description>
			<content:encoded><![CDATA[<div>Hallo!<br />
<br />
Ist sicherlich nur ein kleiner Fehler aber ich komme hier nicht weiter. Ich habe mir im Backend einen Controller mit eigener Route angelegt, in dem ich ein Formular anzeige. In dem Formular wird eine externe API via REST abgefragt und die ausgewählten Ergebnisse werden dann im zweiten Schritt in eine Tabelle importiert. Mein Aufbau ist grob so:<br />
<br />
Das Template erbt von <span style="font-family: Courier New">be_main</span> und erweitert nur den <span style="font-family: Courier New">main_content</span>:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">{% extends &quot;@Contao/be_main&quot; %}<br />
<br />
{% block main_content %}<br />
&nbsp; &nbsp; &lt;form id=&quot;worms-search-form&quot; class=&quot;tl_form&quot; method=&quot;post&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;div class=&quot;formbody&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=&quot;hidden&quot; name=&quot;FORM_SUBMIT&quot; value=&quot;wormsSearch&quot;&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;input type=&quot;hidden&quot; name=&quot;REQUEST_TOKEN&quot; value=&quot;{{ contao.request_token }}&quot;&gt;</code><hr />
</div>Im Controller verarbeite ich die Suchanfrage und setze dann ins Template die entsrechenden Daten:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">PHP-Code:</div>
	<hr /><code class="bbcode_code"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__invoke</span><span style="color: #007700">(</span><span style="color: #0000BB">Request&nbsp;$request</span><span style="color: #007700">):&nbsp;</span><span style="color: #0000BB">Response<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">Input</span><span style="color: #007700">::</span><span style="color: #0000BB">post</span><span style="color: #007700">(</span><span style="color: #DD0000">'FORM_SUBMIT'</span><span style="color: #007700">)&nbsp;==&nbsp;</span><span style="color: #DD0000">'wormsSearch'</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">…<br />&nbsp;&nbsp;</span><span style="color: #007700">}<br /><br />&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'@Contao/backend_worms_import.html.twig'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$parameters<br />&nbsp;&nbsp;</span><span style="color: #007700">);<br />}&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></code><hr />
</div>Mein Problem ist, wenn ich das Formular als <b>GET</b> absende und die GET-Werte verarbeite, funktioniert alles. Das Formular wird wie gewünscht nach dem Absenden aktualisiert und das Ergebnis angezeigt.<br />
<br />
<a href="https://community.contao.org/de/attachment.php?attachmentid=28395&amp;d=1781346028"  title="Name:  Bildschirmfoto 2026-06-13 um 12.19.00.png
Hits: 4
Größe:  399,0 KB">Bildschirmfoto 2026-06-13 um 12.19.00.png</a><br />
<br />
Setze ich das Formluar und meine Verarbeitung aber auf <b>POST</b>, wird die Seite nach dem Absenden nicht aktualisiert. In den Browser-Devtools sehe ich zwar, dass der Request durchgeht und auch die Seitet mit Status 200 und allen Ergebnissen zurückgegeben wird, sie wird aber nicht angezeigt. Die Suchmaske bleibt einfach stehen. Mir wäre aber lieber, wenn ich es mit POST machen könnte.<br />
<br />
Ich vermute, dass ich statt <span style="font-family: Courier New">be_main</span> besser ein anderes Template dafür erweitere oder noch irgendetwas anderes angeben muss, damit die Seite aktualisiert wird. Kann mir hier jemand einen Tipp geben?<br />
<br />
Eine zweite Frage, wenn ich gerade dabei bin: In einigen anderen Bundles habe ich gesehen, dass die Twig-Templates in Bundles über eine eigene „Kennung“ angesprochen werden. Mein Bundle heißt babelfisch/fossils-bundle und der Namespace ist Babelfisch/FossilsBundle. Alle Versuche von mir, mein Template entsprechend zu laden, funktionierten leider nicht und ich bekomme den Fehler, dass das Template nicht gefunden wurde.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">@BabelfischFossilsBundle/backend_worms_import.html.twig<br />
@BabelfischFossils/backend_worms_import.html.twig<br />
@Babelfisch/backend_worms_import.html.twig</code><hr />
</div>Vermutlich muss hier auch noch etwas registriert werden aber ich finde nicht wo und was. Das Template liegt in:<br />
<br />
<span style="font-family: Courier New">/src/Resources/contao/templates/backend/backend_worms_import.html.twig</span></div>


	<div style="padding:10px">

	

	

	
		<fieldset class="fieldset">
			<legend>Angehängte Grafiken</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://community.contao.org/de/images/attach/png.gif" alt="Dateityp: png" />
	<a href="https://community.contao.org/de/attachment.php?attachmentid=28395&amp;d=1781346028" target="_blank">Bildschirmfoto 2026-06-13 um 12.19.00.png</a> 
(399,0 KB)
</li>
			</ul>
			</fieldset>
	

	

	</div>
]]></content:encoded>
			<category domain="https://community.contao.org/de/forumdisplay.php?6-Entwickler-Fragen">Entwickler-Fragen</category>
			<dc:creator>Babelfisch</dc:creator>
			<guid isPermaLink="true">https://community.contao.org/de/showthread.php?89336-Im-Backend-POST-Request-verarbeiten</guid>
		</item>
		<item>
			<title>5.7.x Im ListLabelCallback feststellen, ob man aus Picker aufgerufen wird</title>
			<link>https://community.contao.org/de/showthread.php?89328-Im-ListLabelCallback-feststellen-ob-man-aus-Picker-aufgerufen-wird&amp;goto=newpost</link>
			<pubDate>Tue, 09 Jun 2026 07:57:03 GMT</pubDate>
			<description>Hallo! 
 
Gibt es eine Möglichkeit festzustellen, ob ein ListLabelCallback aus einem Picker aufgerufen wird oder direkt aus der Treeview? 
...</description>
			<content:encoded><![CDATA[<div>Hallo!<br />
<br />
Gibt es eine Möglichkeit festzustellen, ob ein ListLabelCallback aus einem Picker aufgerufen wird oder direkt aus der Treeview?<br />
<br />
Hintergrund: Für meine Treeview-Ansicht bastele ich mir ein Label mit zusätzlichen Daten, die ich aber nur im Treeview sehen will und nicht in der Ansicht einer anderen Tabelle, die Daten über einen Picker dort rausholt.<br />
<br />
So sieht es bei der Auswahl im Picker aus:<br />
<br />
<a href="https://community.contao.org/de/attachment.php?attachmentid=28391&amp;d=1780991483"  title="Name:  Bildschirmfoto 2026-06-09 um 09.49.40.png
Hits: 3
Größe:  82,9 KB">Bildschirmfoto 2026-06-09 um 09.49.40.png</a><br />
<br />
Das ist auch so gewollt und ok. In der Tabelle wird es dann aber auch so mit Icon und rechtsbündigem Text angezeigt:<br />
<br />
<a href="https://community.contao.org/de/attachment.php?attachmentid=28392&amp;d=1780991534"  title="Name:  Bildschirmfoto 2026-06-09 um 09.49.54.png
Hits: 3
Größe:  46,3 KB">Bildschirmfoto 2026-06-09 um 09.49.54.png</a><br />
<br />
Dort hätte ich aber lieber nur den Text ohne Icon und rechtsbündigem Text.<br />
<br />
Mein Callback:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">PHP-Code:</div>
	<hr /><code class="bbcode_code"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #FF8000">#&#91;AsCallback(table:&nbsp;'tl_foss_taxonomy',&nbsp;target:&nbsp;'list.label.label')&#93;<br /></span><span style="color: #0000BB">readonly&nbsp;</span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">FossTaxonomyLabelCallbackListener<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">__invoke</span><span style="color: #007700">(</span><span style="color: #0000BB">$row</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$label</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">DataContainer&nbsp;$dc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">string&nbsp;$imageAttribute&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">bool&nbsp;$returnImage&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">false</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">bool</span><span style="color: #007700">|</span><span style="color: #0000BB">null&nbsp;$isProtected&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">null</span><span style="color: #007700">):&nbsp;</span><span style="color: #0000BB">string<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">{&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></code><hr />
</div>Im $dc finde ich nichts was ich abfragen kann bzw. ist alles protected.<br />
<br />
Wenn nicht, muss ich es versuchen über CSS zu lösen aber lieber wäre es mir, wenn ich es über den Callback unterscheiden kann.<br />
<br />
Gruß</div>


	<div style="padding:10px">

	

	

	
		<fieldset class="fieldset">
			<legend>Angehängte Grafiken</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://community.contao.org/de/images/attach/png.gif" alt="Dateityp: png" />
	<a href="https://community.contao.org/de/attachment.php?attachmentid=28391&amp;d=1780991483" target="_blank">Bildschirmfoto 2026-06-09 um 09.49.40.png</a> 
(82,9 KB)
</li><li>
	<img class="inlineimg" src="https://community.contao.org/de/images/attach/png.gif" alt="Dateityp: png" />
	<a href="https://community.contao.org/de/attachment.php?attachmentid=28392&amp;d=1780991534" target="_blank">Bildschirmfoto 2026-06-09 um 09.49.54.png</a> 
(46,3 KB)
</li>
			</ul>
			</fieldset>
	

	

	</div>
]]></content:encoded>
			<category domain="https://community.contao.org/de/forumdisplay.php?6-Entwickler-Fragen">Entwickler-Fragen</category>
			<dc:creator>Babelfisch</dc:creator>
			<guid isPermaLink="true">https://community.contao.org/de/showthread.php?89328-Im-ListLabelCallback-feststellen-ob-man-aus-Picker-aufgerufen-wird</guid>
		</item>
		<item>
			<title>5.7.x TranslatableLabelInterface</title>
			<link>https://community.contao.org/de/showthread.php?89322-TranslatableLabelInterface&amp;goto=newpost</link>
			<pubDate>Wed, 03 Jun 2026 17:26:50 GMT</pubDate>
			<description>Hallo! 
 
Man kann ja jetzt in dem DCA bestimmte Übersetzungen (https://docs.contao.org/5.x/dev/framework/models/enumerations/) auch als enum und...</description>
			<content:encoded><![CDATA[<div>Hallo!<br />
<br />
Man kann ja jetzt in dem DCA bestimmte <a href="https://docs.contao.org/5.x/dev/framework/models/enumerations/" target="_blank">Übersetzungen</a> auch als <span style="font-family: Courier New">enum</span> und Yaml-Dateien angeben:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">PHP-Code:</div>
	<hr /><code class="bbcode_code"><code><span style="color: #000000">
<span style="color: #0000BB">rank</span><span style="color: #DD0000">'&nbsp;=&gt;&nbsp;&#91;<br />&nbsp;&nbsp;'</span><span style="color: #0000BB">inputType</span><span style="color: #DD0000">'&nbsp;=&gt;&nbsp;'</span><span style="color: #0000BB">select</span><span style="color: #DD0000">',<br />&nbsp;&nbsp;'</span><span style="color: #0000BB">enum</span><span style="color: #DD0000">'&nbsp;=&gt;&nbsp;\Babelfisch\FossilsBundle\Data\TaxonomicRanks::class,&nbsp;<br /></span>
</span>
</code></code><hr />
</div>Funktioniert super, nur stehe ich gerade auf dem Schlauch, wie ich das in einem DCA-Callback selber verwenden kann. Ich rufe es jetzt so in einem Label Callback auf:<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">PHP-Code:</div>
	<hr /><code class="bbcode_code"><code><span style="color: #000000">
<span style="color: #0000BB"></span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">addIcon</span><span style="color: #007700">(</span><span style="color: #0000BB">$row</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$label</span><span style="color: #007700">):&nbsp;</span><span style="color: #0000BB">string<br /></span><span style="color: #007700">{<br />&nbsp;&nbsp;</span><span style="color: #0000BB">$strRank&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TaxonomicRanks</span><span style="color: #007700">::</span><span style="color: #0000BB">from</span><span style="color: #007700">(</span><span style="color: #0000BB">$row</span><span style="color: #007700">&#91;</span><span style="color: #DD0000">'rank'</span><span style="color: #007700">&#93;)-&gt;</span><span style="color: #0000BB">label</span><span style="color: #007700">();&nbsp;<br /></span><span style="color: #0000BB"></span>
</span>
</code></code><hr />
</div>Der Wert ist jetzt bspw. <span style="font-family: Courier New">'class'</span> und ich möchte <span style="font-family: Courier New">'Klasse'</span> zurückbekommen. Zurück bekomme ich aber <span style="font-family: Courier New">'rank.label.class'</span>. In der Select-Liste werden die verschiedenen Werte dagegen sauber übersetzt.<br />
<br />
Kann mir hier jemand weiterhelfen?<br />
<br />
Gruß</div>

]]></content:encoded>
			<category domain="https://community.contao.org/de/forumdisplay.php?6-Entwickler-Fragen">Entwickler-Fragen</category>
			<dc:creator>Babelfisch</dc:creator>
			<guid isPermaLink="true">https://community.contao.org/de/showthread.php?89322-TranslatableLabelInterface</guid>
		</item>
		<item>
			<title>5.7.x Äquivalent zu inputType pageTree für eigene Tabelle</title>
			<link>https://community.contao.org/de/showthread.php?89317-Äquivalent-zu-inputType-pageTree-für-eigene-Tabelle&amp;goto=newpost</link>
			<pubDate>Mon, 01 Jun 2026 13:08:51 GMT</pubDate>
			<description><![CDATA[Hallo! 
 
Ich habe eine Tabelle, die mit sorting mode 5 (Tree) definiert ist und Datensätze ähnlich wie tl_page über id -> pid verschachtelt. In...]]></description>
			<content:encoded><![CDATA[<div>Hallo!<br />
<br />
Ich habe eine Tabelle, die mit <span style="font-family: Courier New">sorting mode 5</span> (Tree) definiert ist und Datensätze ähnlich wie <span style="font-family: Courier New">tl_page</span> über <span style="font-family: Courier New">id -&gt; pid</span> verschachtelt. In einer anderen Tabelle möchte ich daraus einen Wert auswählen. Da es mehrere hundert Einträge sind, macht ein normales Dropdown keinen Sinn und ich bräuchte optimalerweise eine Auswahl ähnlich wie bei <span style="font-family: Courier New">'inputType'=&gt;'pageTree'</span>.<br />
<br />
Gibt es evtl. so etwas schon oder kann mir jemand einen Tipp geben, wie ich das am besten realisieren kann? Da so ein Picker für eine verschachtelte Tabelle ja eigentlich generisch ist, habe ich die Hoffnung, dass es da schon irgendetwas gibt oder zumindest etwas ähnliches, was ich für meine Erweiterung anpassen kann.<br />
<br />
Gruß</div>

]]></content:encoded>
			<category domain="https://community.contao.org/de/forumdisplay.php?6-Entwickler-Fragen">Entwickler-Fragen</category>
			<dc:creator>Babelfisch</dc:creator>
			<guid isPermaLink="true">https://community.contao.org/de/showthread.php?89317-Äquivalent-zu-inputType-pageTree-für-eigene-Tabelle</guid>
		</item>
		<item>
			<title>5.7.x Doctrine Relations und das Contao DCA</title>
			<link>https://community.contao.org/de/showthread.php?89310-Doctrine-Relations-und-das-Contao-DCA&amp;goto=newpost</link>
			<pubDate>Mon, 25 May 2026 08:49:43 GMT</pubDate>
			<description>Hallo und einen schönen Pfingstmontag! 
 
Ich bastle gerade an meiner ersten Conta-Erweiterung mit Symfony und habe eine kurze Frage zu Relations und...</description>
			<content:encoded><![CDATA[<div>Hallo und einen schönen Pfingstmontag!<br />
<br />
Ich bastle gerade an meiner ersten Conta-Erweiterung mit Symfony und habe eine kurze Frage zu Relations und was der korrekte oder üblichste Weg ist.<br />
<br />
Gegeben sind zwei Tabellen, die über eine ManyToOne Beziehung verbunden sind. Die Beziehung in den Entities sieht vereinfach so aus:<br />
<br />
MyItem.php<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">#[ORM\Table(name: &quot;tl_my_item&quot;)]<br />
class MyItem<br />
{<br />
&nbsp; …<br />
&nbsp; #[ORM\ManyToOne(targetEntity: MyCollection::class, inversedBy: 'items')]<br />
&nbsp; private ?MyCollection $collection = null;</code><hr />
</div>MyCollection.php<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">#[ORM\Table(name: 'tl_my_collection')]<br />
class MyCollection<br />
{<br />
&nbsp; …<br />
&nbsp; #[ORM\OneToMany(mappedBy: 'collection', targetEntity: MyItem::class)]<br />
&nbsp; &nbsp; private Collection $items;</code><hr />
</div>In der <span style="font-family: Courier New">tl_my_item</span> wird dann automatisch die Spalte <span style="font-family: Courier New">collection_id</span> angelegt.<br />
<br />
Entsprechend muss ich das Feld in der DCA auch benennen:<br />
<br />
tl_my_item.php<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">'fields' =&gt; [<br />
&nbsp; …<br />
&nbsp; 'collection_id' =&gt; [<br />
&nbsp; &nbsp; 'inputType' =&gt; 'select',<br />
&nbsp; &nbsp; 'filter' =&gt; true,<br />
&nbsp; &nbsp; 'sorting' =&gt; true,<br />
&nbsp; &nbsp; 'foreignKey' =&gt; 'tl_my_collection.title',<br />
&nbsp; &nbsp; 'eval' =&gt; ['mandatory' =&gt; true, 'includeBlankOption' =&gt; true, 'tl_class' =&gt; 'w50'],<br />
&nbsp; &nbsp; 'relation' =&gt; ['type' =&gt; 'belongsTo', 'load' =&gt; 'lazy'],<br />
&nbsp; ]</code><hr />
</div>So richtig gefällt mir das aber nicht, weshalb ich im Entity mit <span style="font-family: Courier New">#[ORM\JoinColumn</span> den Spaltennamen explizit angegeben habe:<br />
<br />
MyItem.php<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">#[ORM\Table(name: &quot;tl_my_item&quot;)]<br />
#[ORM\JoinColumn(name: 'collection', referencedColumnName: 'id')]<br />
class MyItem<br />
{<br />
&nbsp; …<br />
&nbsp; #[ORM\ManyToOne(targetEntity: MyCollection::class, inversedBy: 'items')]<br />
&nbsp; private ?MyCollection $collection = null;</code><hr />
</div>Dann wir die Spalte <span style="font-family: Courier New">collection</span> genannte und kann so im DCA angesprochen werden.<br />
<br />
Meine Frage ist jetzt, was hier <i>Best practice</i> ist oder ob es egal ist oder ob ich gleich etwas ganz falsch gemacht habe?<br />
<br />
Gruß</div>

]]></content:encoded>
			<category domain="https://community.contao.org/de/forumdisplay.php?6-Entwickler-Fragen">Entwickler-Fragen</category>
			<dc:creator>Babelfisch</dc:creator>
			<guid isPermaLink="true">https://community.contao.org/de/showthread.php?89310-Doctrine-Relations-und-das-Contao-DCA</guid>
		</item>
	</channel>
</rss>
