Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Erklärung tl_member + zusätzliche Felder via MM

  1. #1
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    811

    Standard Erklärung tl_member + zusätzliche Felder via MM

    Moin zusammen,

    ich habe mir jetzt MM angeschaut und auch echt viel gelesen und auch 2 Videos angeschaut.
    Aber ich verstehe einfach nicht, wie ich jetzt meine Idee umsetzen kann.

    Ich habe in der tl_member ganz normal Mitglieder (Firmen).
    Nun sollen weitere Felder hinzugefügt werden(via MM). Diese sollen Schwerpunkte von Firmen definieren, also welche Schwerpunkte hat diese Firma in dem Gewerk in der die Firma aktiv ist.

    Mein Problem ist jetzt nicht, dass ich nicht einzelne MM anlege und mit Daten fülle kann. Vielmehr fehlt mir die Herangehensweise, wie ich im Backend im besten Fall durch ein Selectfeld eine Firma auswählen kann und da dadrunter dann die Kind-Tabelle angezeigt wird mit den Schwerpunkten die dann via Checkbox gesetzt wird.

    Vielleicht zur Info noch:
    Im FE sollen nachher auch die Daten aus der tl_member (Firma, Straße, Telefon, Webseite, Email usw.) ausgegeben werden können, zusätzlich natürlich die Schwerpunkte der Firma.

    Es wäre toll, wenn das jemand im "Hallo-Kindersendungs-Ton" einmal erklären könnte.

    Vielen Dank im Voraus,
    Preetz

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.684
    User beschenken
    Wunschliste

    Standard

    "Welches Schweinerl hättens gern" - falls noch jemand die Sendung kennt...

    Gehe ich recht in der Annahme, dass Du von hier kommst https://community.contao.org/de/show...536#post542536 ?

    Ich denke das Problem ist, wie MM und tl_member miteinander verknüpft sind und was man daraus machen kann.

    Prinzipiell gibt es zwei Varianten:

    a) Verbindung als "normale Relation" von mm_irgendwas zu tl_member per Einzelauswahl oder Mehrfachauswahl
    b) als mm_irgendwas als Kindtabelle tl_member, d.h. bestimme Datensätze in mm_irgendwas haben als pid die id von tl_member

    Die spannende Frage - und das geht aus den bisherigen Beschreibungen für mich nicht hervor - für was benötigst Du die Verbindung zu tl_member?

    Prinzipbedingt ist es so, dass MM nur mit/über den MM-Tabellen filtern und suchen kann und dann bei der Ausgabe bestimmte Ausgaben aus tl_memer mit ausgeben kann.

    Mit den Sachen von MM kannst du per se nicht die Tabelle tl_member filtern - mit ein paar Tricks ist das sicherlich machbar aber dann würde ich erstmal den ganzen Datenbankaufbau in Frage stellen.

    Also um es auf den Punkt zu bringen: für was benötigst Du tl_member?

  3. #3
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    811

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    "Welches Schweinerl hättens gern" - falls noch jemand die Sendung kennt...
    Ich glaube die Antwort war: das mit der Brille oder? ^^

    Zitat Zitat von zonky Beitrag anzeigen
    Gehe ich recht in der Annahme, dass Du von hier kommst https://community.contao.org/de/show...536#post542536 ?
    Ja, aber ich möchte die Umsetzung gerne mit MM machen. Ich rechne damit, dass die Anforderungen mehr werden.

    Zitat Zitat von zonky Beitrag anzeigen
    Prinzipiell gibt es zwei Varianten:

    a) Verbindung als "normale Relation" von mm_irgendwas zu tl_member per Einzelauswahl oder Mehrfachauswahl
    b) als mm_irgendwas als Kindtabelle tl_member, d.h. bestimme Datensätze in mm_irgendwas haben als pid die id von tl_member

    Die spannende Frage - und das geht aus den bisherigen Beschreibungen für mich nicht hervor - für was benötigst Du die Verbindung zu tl_member?

    Prinzipbedingt ist es so, dass MM nur mit/über den MM-Tabellen filtern und suchen kann und dann bei der Ausgabe bestimmte Ausgaben aus tl_memer mit ausgeben kann.

    Mit den Sachen von MM kannst du per se nicht die Tabelle tl_member filtern - mit ein paar Tricks ist das sicherlich machbar aber dann würde ich erstmal den ganzen Datenbankaufbau in Frage stellen.

    Also um es auf den Punkt zu bringen: für was benötigst Du tl_member?
    Die Variante B habe ich nicht verstanden.
    Das Ziel ist es, dass ich die Mitgliederverwaltung von Contao nutzen kann (gerade auch Benutzerlogins sind fertig und nutzbar). Ich möchte keine eigenes MM für die Mitgliederverwaltung.
    Es fehlen allerdings zwei wichtige Punkte in der Mitgliederdarstellung:

    1. Besser filtern können (PLZ + Benutzergruppe(n))
    2. Zusätzliche Felder um z.B. die Tätigkeitsschwerpunkte der Mitglieder darzustellen

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.684
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Preetz Beitrag anzeigen
    Ich glaube die Antwort war: das mit der Brille oder? ^^
    da gabs glaube ich nur rote und blaue und bei jedem Nein ein 5 Mark-Stück

    https://www.youtube.com/watch?v=y-ZMpp5Lxls bei ~ 1:54 ;-)


    Zu Deinem Konzept: wie gesagt - MM ist nicht dazu gemacht, bestehende Contao-Tabellen als Ersatz für das Schreiben von DCA um Felder zu erweitern. Man kann mit MM auch nicht einfach über andere Tabellen filtern.

    Man kann sich als Hack ein Dummy-Attribut anlegen um ein Filterwidget zu bauen - bei den Filterregeln dann ein OR (Checkbox "nach erstem Fund beenden") mit Eig. SQL als erste "Kind"-Filterregel und dem Dummyfeld als Zweites. In dem Eig. SQL kann man mit dem Eingabewert auch "irgendwo" suchen/filtern - also auch auf tl_member.

    Oder man baut sich einen eigenen FE-Filter - als Vorlage kann man einen vorhanden kopieren und überarbeiten. Der Filter "ParentFilter", wo man Kinddatensätze anhand von Eigenschaften der Eltern suchen kann, wäre sicher eine gute Basis.

    Bei Projekten mit Mitgliederdaten habe ich alle Daten in MM und nur eine Verbindung zu tl_member als Einzelauswahl [select] für die Selection des Datensatzes nach einem Login.

    Sven hatte mal in einem Projekt ein "Sync" zwischen tl_member und MM geschrieben - ich würde das eher vermeiden.

    Um Variante B like "Sendung-mit-der-Maus" zu erklären sprengt hier den Rahmen - vllt. gibt es demnächst mal wieder einen MM-Workshop wo das mit behandelt wird oder buchst mich als "Erkärbär".

  5. #5
    Contao-Fan Avatar von Kopfnuss
    Registriert seit
    05.09.2012.
    Ort
    Zwickau
    Beiträge
    307
    Partner-ID
    11375
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zusätzliche Felder sind schnell über ein DCA angelegt.
    contao/dca/tl_member.php
    Code:
    <?php
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['mandatory'] = true;
    
    // contao/dca/tl_member.php
    use Contao\CoreBundle\DataContainer\PaletteManipulator;
     
    //Fields
    $GLOBALS['TL_DCA']['tl_member']['fields']['knumber'] = [
    		'label' => &$GLOBALS['TL_LANG']['tl_member']['knumber'],
    		'search' => true,
    		'inputType' => 'text',
    		'eval' => array('mandatory'=>true, 'maxlength'=>64, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'address', 'tl_class'=>'w50'),
    		'sql' => "varchar(64) NOT NULL default ''"
    ];
    
    PaletteManipulator::create()
    	// add a new "custom_legend" before the "type_legend"
    	->addLegend('custom_legend_member', 'personal_legend', PaletteManipulator::POSITION_AFTER)
    	
    	// directly add new fields to "custom_legend"
    	->addField('knumber', 'custom_legend_member', PaletteManipulator::POSITION_APPEND)
    	
    	// then apply it to the palette "table" in "tl_content" as usual
    	->applyToPalette('default', 'tl_member')
    ;
    contao/languages/de/tl_member.php
    Code:
    <?php 
     
    $GLOBALS['TL_LANG']['tl_member']['knumber'][0] = 'Kundennummer';
    $GLOBALS['TL_LANG']['tl_member']['knumber'][1] = 'Hier die Kundennummer eintragen.';
    $GLOBALS['TL_LANG']['tl_member']['custom_legend_member'] = 'Kundennummer';
    Damit hast du ein neues Feld Kundenummer erschaffen und kannst sogar über das inserttag {{user::knumber}} darauf zugreifen.

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.684
    User beschenken
    Wunschliste

    Standard

    Wenn Du für die User "Schwerpunkte der Firma" nicht statisch im DCA vorgeben möchtest, könntest Du das als Alternative in MM eine Tabelle anlegen und das als Select in das DCA tl_member einfügen.

    https://community.contao.org/de/show...Key)-mit-Label

  7. #7
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    811

    Standard

    Hi zusammen,

    danke Euch. Denke das ich erstmal in das andere Thema Zurückwechseln werde und nur das Template Auflistung anpasse.
    Da muss ich erstmal gucken wie sowas geht.

    Trotzdem aber vielen Dank für den Input.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •