-
Anpassen tl_member
Ein guten Tag allen,
ich möchte mein tl_members anpassen. Darum habe ich in \contao\dca\ ein tl_member.php gemacht.
Danach habe ich einige "Fields" zugefügt, z.B.:
Code:
$GLOBALS['TL_DCA']['tl_member']['fields']['last_check_hash'] = array
(
'label' => ["Last check_hash", "Do not touch, help for last check_hash"],
'explanation' => "Last check hash",
'inputType' => 'text',
'eval' => ['tl_class' => 'w50', 'maxlength' => 255, 'mandatory' => false],
'sql' => "varchar(255) NOT NULL default ''"
);
Aber ich suche ein Möglichkeit um das field angepasst in die "list-overview" von tl_member zu sehen:
$GLOBALS['TL_DCA']['tl_member']['list']['label'] => array
(
'fields' => array('username', 'last_check_hash'),
'showColumns' => true,
),
Aber ich möchte nicht das ganzen Feld sehen lassen, aber z.B. nur 3 Möglichkeiten: "EMPTY", "LENGTH=16" (wenn da ein string von 16 Buchstaben ins Feld gibt), "OTHER". Ich habe gerade gefunden das ich dann ein label_callback brauch, aber habe keine Ahnung wo ich die neue Function platzen soll? Hat jemand ein Beispiel?
-
Self Antwort...
Mmmm, Verbesserung meines Antwort:
https://docs.contao.org/dev/referenc...st-label-label
-> "list view".
contao\dca\tl_member.php:
PHP-Code:
$GLOBALS['TL_DCA']['tl_member']['list']['label'] = array
(
'showColumns' => true,
'fields' => array('username', 'pid:tl_vv_company.company', 'groups', 'license_enddt', 'dateAdded','usage')
//'label_callback' => array('TlMemberEventListener', 'tlMemberLabelCallback')->nicht notwendig
);
Und
src/EventListener/DataContainer/MemberLabelCallbackListener.php
PHP-Code:
<?php
namespace App\EventListener\DataContainer;
use Contao\CoreBundle\ServiceAnnotation\Callback;
use Contao\DataContainer;
/**
* @Callback(table="tl_member", target="list.label.label")
*/
class MemberLabelCallbackListener
{
public function __invoke(array $row, string $label, DataContainer $dc, array $labels): array
{
$labels[0]= "A";
return $labels;
}
}