Ergebnis 1 bis 18 von 18

Thema: Modul Persönliche Daten öffentliche Felder - Felderauswahl?

  1. #1
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard Modul Persönliche Daten öffentliche Felder - Felderauswahl?

    Wenn ich beim Modul Persönliche Daten die Checkbox öffentliche Felder auswähle und dieses Modul im Fronend einfüge, dann sind alle öffentlichen Felder auswählbar.

    Diese öffentliche Felder sind auswählbar:

    Vorname Nachname Geburtsdatum Geschlecht Firma Straße Postleitzahl Stadt Staat Land Telefonnummer Handynummer Faxnummer E-Mail-Adresse Webseite Sprache

    Jetzt sollte aber z.B. Frima, Staat, Land, Faxnummer nicht auswählbar sein. Wie kann ich jetzt das anstellen, dass diese nicht auswählbar bzw. nicht erscheinen sind?

    Ich hoffe ich konnte mich verständlich ausdrücken.

  2. #2
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Nachtrag:

    Ich möchte die öffentlichen Felder im Modul Persönliche Daten auswählen können, wie im Modul Mitgliederliste.

    Denn wenn ich sie nicht auswählen kann, kann das Mitglied mehr öffentliche Felder für das öffentliche Profil auswählen als er überhaupt einfüllen kann (Modul Persönliche Daten)
    Annahme: nicht alle editierbare Felder im Modul Persönliche Daten ausgewählt

  3. #3
    Contao-Nutzer Avatar von philipp.kaiblinger
    Registriert seit
    06.07.2009.
    Beiträge
    160
    Partner-ID
    4877

    Standard

    Hallo Dani,

    Also im Persönliche Einstellungen Modul kannst du die Felder die du haben willst ja sowieso einzeln auswählen. Sprich Vorname, Nachname usw. kannst du auch einzeln ansprechen. Oder meinst du das anders?

    lg

  4. #4
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Ja das ist mir klar. Wenn du jetzt die Checkbox öffentliche Felder auswählst und dann im Frontend schaust, was passiert ist, siehst du ja ganz viele Checkboxen. Diese möchte ich auswählen können.

    Diese Checkboxen sind ja dafür da, dem Mitglied die Freiheit zu lassen, welche Felder er in seinem öffentlichen Profil haben möchte. Wenn er mehr auswählen, als er überhaupt ausfüllen kann ist das ja unlogisch.

  5. #5
    Contao-Nutzer Avatar von philipp.kaiblinger
    Registriert seit
    06.07.2009.
    Beiträge
    160
    Partner-ID
    4877

    Standard

    Hallo Dani,

    Jetzt verstehe ich, was du machen willst. Am besten erstellt du ein kleines Modul in der du die DCA änderst. z.B.:

    Wenn du das Feld Company nicht anzeigen willst dann schreibe einfach
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false
    Wenn du Hilfe brauchst dann meld dich einfach bei mir

    lg

  6. #6
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Danke viel Mal. Hat geklappt! Das Problem ist jetzt nur, dass ich 2mal ein Modul mit dem Modultyp: Persönliche Daten habe. Beim Einen möchte ich andere öffentliche Felder erlauben als beim anderen. Ist dies irgendwie möglich?

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Dani,

    hast du das lösen können, ich möchte nämlich auch, und zwar pro Gruppe, andere Felder zur Verfügung stellen. Kann man also diese Zeile:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false
    abhängig von einer Gruppe machen?

    Andreas

  8. #8
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Dann müsstet ihr mit der ID der Usergruppe arbeiten.

    Alles nachfolgende stammt aus meinem Kopf, ich kann's leider gerade nicht testen aber so ähnlich müsste das gehen:

    PHP-Code:
    $this->import('FrontendUser''User');
    if(
    $this->User->isMemberOf(12))
    {
         
    // DCA Anweisungen für die Gruppe mit der ID 12

    Die ID natürlich anpassen

    As I said: ungetestet!
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  9. #9
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Dani Beitrag anzeigen
    Danke viel Mal. Hat geklappt! Das Problem ist jetzt nur, dass ich 2mal ein Modul mit dem Modultyp: Persönliche Daten habe. Beim Einen möchte ich andere öffentliche Felder erlauben als beim anderen. Ist dies irgendwie möglich?
    Ah und du Dani könntest evtl. die Module-ID checken!
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  10. #10
    Contao-Fan Avatar von Dani
    Registriert seit
    19.06.2009.
    Ort
    Meilen, Schweiz
    Beiträge
    552

    Standard

    Hallo Andreas

    Ich habe es ähnlich wie Toflar beschrieben gelöst:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['dateOfBirth']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['gender']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['state']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['mobile']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['phone']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['fax']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['language']['eval']['feViewable'] = false;

    $this->import('FrontendUser''Member');
    $memberGroups $this->Member->groups;

    if (
    $memberGroups[0] == 3)
    {
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['phone']['eval']['feViewable'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['fax']['eval']['feViewable'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['firstname']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['lastname']['eval']['feViewable'] = false;

    Die 3 ist hier die ID der Mitgliedergruppe. Dies habe ich in der dcaconfig.php gespeichert.

  11. #11
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Toflar und Dani,

    ich danke euch beiden. Ich werde letzteres mal zuerst ausprobieren und schauen, ob das modulübergreifend wirkt.

    Gruß Andreas

  12. #12
    Contao-Nutzer
    Registriert seit
    06.08.2009.
    Beiträge
    35

    Standard

    Zitat Zitat von Dani Beitrag anzeigen
    Hallo Andreas

    Ich habe es ähnlich wie Toflar beschrieben gelöst:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['dateOfBirth']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['gender']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['state']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['mobile']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['phone']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['fax']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['language']['eval']['feViewable'] = false;

    $this->import('FrontendUser''Member');
    $memberGroups $this->Member->groups;

    if (
    $memberGroups[0] == 3)
    {
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['phone']['eval']['feViewable'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['fax']['eval']['feViewable'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['firstname']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['lastname']['eval']['feViewable'] = false;

    Die 3 ist hier die ID der Mitgliedergruppe. Dies habe ich in der dcaconfig.php gespeichert.
    Hallo habe das gleiche Problem.

    Habe 2 Benutzergruppen:
    ID 2 = Arbeitgeber und ID 1 ist Bewerber.

    Habe das versucht, jedoch komme ich nicht weiter wenn ich das in die dcaconfig.php eingebe.

    PHP-Code:
    $this->import('FrontendUser''Members'); 
          
    $memberGroups $this->Members->groups
          if (
    $memberGroups[0] >= 2
                  {
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false


    Was mache ich falsch?

    Gruss
    Pierre

  13. #13
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Du kannst es doch genau gleich machen wie oben?

    PHP-Code:
    $this->import('FrontendUser''User'); 
    if (
    $this->User->groups[0] == 1
    {
    // Bewerber
    }

    if(
    $this->User->groups[0] == 2)
    {
    // Arbeitgeber

    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  14. #14
    Contao-Nutzer
    Registriert seit
    06.08.2009.
    Beiträge
    35

    Standard

    Zitat Zitat von Toflar Beitrag anzeigen
    Du kannst es doch genau gleich machen wie oben?

    PHP-Code:
    $this->import('FrontendUser''User'); 
    if (
    $this->User->groups[0] == 1
    {
    // Bewerber
    }

    if(
    $this->User->groups[0] == 2)
    {
    // Arbeitgeber


    Hallo Toflar,
    danke für die Hilfe.
    Habe folgendes eingegeben, leider auch ohne Erfolg auf den jeweiligen Registrierungsformularen
    wird weiterhin das Feld company angezeigt.

    PHP-Code:
    $this->import('FrontendUser''User');  
    if (
    $this->User->groups[0] == 1)  

    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false


    if(
    $this->User->groups[0] == 2

    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = true;

    Vielen Dank nochmals für die Mühe.

    Gruss Pierre

  15. #15
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Jo ich habs ja sowieso mit der Methode isMemberOf() gemacht. Siehe weiter oben.

    Wo hast Du denn die Änderungen durchgeführt?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  16. #16
    Contao-Nutzer
    Registriert seit
    06.08.2009.
    Beiträge
    35

    Standard

    Zitat Zitat von Toflar Beitrag anzeigen
    Jo ich habs ja sowieso mit der Methode isMemberOf() gemacht. Siehe weiter oben.

    Wo hast Du denn die Änderungen durchgeführt?
    Hallo,
    habe es in die Datei system/config/dcaconfig.php eingetragen.

    Wenn ich z.B.
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false
    einfach eintrage, dann funktioniert es auch, aber das Feld wird in beiden Gruppen ausgeblendet und das sollte es nach Möglichkeit nicht.

    Habe auch schon gedacht einfach alle Auswahlfelder unsichtbar zu machen, aber das diese trotzdem noch die Funktion haben, das die markierten Felder veröffentlicht werden.

    Habe auch jeweils ein Template je Gruppe gemacht.

    member_grouped_arbeitnehmer.tpl und member_grouped_arbeitgeber.tpl

    In den Templates habe ich z.B. einige Felder schon markiert:

    PHP-Code:
    if(!$submit == 'tl_registration'): 
    $field str_replace('value="company"''value="company" checked="checked"'$field); 
    $field str_replace('value="postal"''value="postal" checked="checked"'$field);
    $field str_replace('value="city"''value="city" checked="checked"'$field);
    endif; 

    Das steht jetzt in meiner dcaconfig.php:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_member']['fields']['phone']['eval']['mandatory'] = true;  
    $GLOBALS['TL_DCA']['tl_member']['fields']['street']['eval']['mandatory'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['postal']['eval']['mandatory'] = true
    $GLOBALS['TL_DCA']['tl_member']['fields']['city']['eval']['mandatory'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['country']['eval']['mandatory'] = true;
    $GLOBALS['TL_DCA']['tl_member']['fields']['language']['eval']['mandatory'] = true;

    $GLOBALS['TL_DCA']['tl_member']['fields']['website']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['gender']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['state']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['dateOfBirth']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['fax']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['firstname']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['lastname']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['xt_anzeigenbeginn']['eval']['feViewable'] = false;
    $GLOBALS['TL_DCA']['tl_member']['fields']['xt_anzeigenende']['eval']['feViewable'] = false;

    /**
    * [B]Das folgende hatte ich jetzt eingegeben---->[/B]
    */
    $this->import('FrontendUser''User');  
    if (
    $this->User->groups[0] == 1)  

    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = false


    if(
    $this->User->groups[0] == 2

    $GLOBALS['TL_DCA']['tl_member']['fields']['company']['eval']['feViewable'] = true;

    Gruss Pierre

  17. #17
    Contao-Fan Avatar von deerwood
    Registriert seit
    24.11.2009.
    Ort
    Hamburg
    Beiträge
    344

    Standard

    Hi Pierre,
    habe es in die Datei system/config/dcaconfig.php eingetragen.
    Schon mal versucht, das stattdessen in system/config/localconfig.php einzutragen? Weil es doch offenbar um Frontend-Anzeige geht und die dcaconfig.php nur fürs Backend gelesen wird, die loacalconfig.php dagegen immer.

    LG, Georg

  18. #18
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Der DCA ist für's BE, das ist richtig, aber die Felder werden für's FE freigegeben, das ist ein Spezialfall. Die dcaconfig.php ist also der richtige Ort.

    Ich hab aber noch gar nie geschaut, wie das groups-Array aufgebaut ist. Deshalb mach es einfach, wie bereits erwähnt, mit der isMemberOf()-Methode
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Nochmal Persönliche Daten => öffentliche Felder
    Von kos im Forum Geschützte Bereiche/Mitglieder
    Antworten: 8
    Letzter Beitrag: 17.05.2011, 15:13
  2. Antworten: 3
    Letzter Beitrag: 27.04.2011, 00:33
  3. Felder der persönliche Daten für Benutzer ausblenden
    Von codestorm im Forum Benutzer/-gruppen
    Antworten: 0
    Letzter Beitrag: 18.11.2010, 13:39
  4. Modul Persönliche Daten: Passwort im Firefox
    Von kos im Forum Geschützte Bereiche/Mitglieder
    Antworten: 7
    Letzter Beitrag: 08.09.2009, 11:27
  5. Modul Persönliche Daten - tabellenlos?
    Von Stranger im Forum Entwickler-Fragen
    Antworten: 12
    Letzter Beitrag: 04.09.2009, 16:26

Lesezeichen

Lesezeichen

Berechtigungen

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