Liste der Anhänge anzeigen (Anzahl: 2)
Im ListLabelCallback feststellen, ob man aus Picker aufgerufen wird
Hallo!
Gibt es eine Möglichkeit festzustellen, ob ein ListLabelCallback aus einem Picker aufgerufen wird oder direkt aus der Treeview?
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.
So sieht es bei der Auswahl im Picker aus:
Anhang 28391
Das ist auch so gewollt und ok. In der Tabelle wird es dann aber auch so mit Icon und rechtsbündigem Text angezeigt:
Anhang 28392
Dort hätte ich aber lieber nur den Text ohne Icon und rechtsbündigem Text.
Mein Callback:
PHP-Code:
#[AsCallback(table: 'tl_foss_taxonomy', target: 'list.label.label')]
readonly class FossTaxonomyLabelCallbackListener
{
public function __invoke($row, $label, DataContainer $dc, string $imageAttribute = '', bool $returnImage = false, bool|null $isProtected = null): string
{
Im $dc finde ich nichts was ich abfragen kann bzw. ist alles protected.
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.
Gruß
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es einfach mal so im Callback getestet:
PHP-Code:
$request = $this->requestStack->getCurrentRequest();
$route = $request->attributes->get('_route');
return $route;
_route ist in allen drei Fällen – auch in der Picker-Auswahl – 'contao_backend'.
Anhang 28393
Und _controller ist '…\BackendController::mainAction'. Nur das popup ist NULL oder 1.
Nachtrag: Ich nutze hier eine Many-To-Many Relation mit contao-haste. Möglicherweise verändert das die Route.