Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: Mitgliederbereich: Name + Mailadresse im Kommentarfeld nicht editierbar machen

  1. #1
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    645
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard Mitgliederbereich: Name + Mailadresse im Kommentarfeld nicht editierbar machen

    Ich hab hier einen (geschützten) Mitgliederbereich mit News. Die Mitglieder dürfen die News kommentieren. Was mir hierbei auffiel: Name + Maildresse sind vorbelegt, aber editierbar. Ich hätte die gerne nicht editierbar, weil ich es unlogisch finde. Ich kommentiere ja als Mitglied "Kim Wormer" und will nicht den Namen in "Karl Müller" ändern können

    Wie mach ich das?

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Am besten im Template den jeweiligen Feldern ein "readonly" hinzufügen.

  3. #3
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    645
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard

    im mod_comments_form.html5, da werden die felder leider über ein
    PHP-Code:
    <?php foreach ($this->fields as $field): ?>
                  <?php if (!in_array($field->name, array('website'))): ?>
                      <?= $field->parse() ?>
                  <?php endif; ?>
              <?php endforeach; ?>
    zusammengestückelt.

  4. #4
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Ahoi,
    Zitat Zitat von k-webdesign Beitrag anzeigen
    Ich hab hier einen (geschützten) Mitgliederbereich mit News. Die Mitglieder dürfen die News kommentieren. Was mir hierbei auffiel: Name + Maildresse sind vorbelegt, aber editierbar.
    und sie in diesem Fall erst gar nicht anzuzeigen wäre keine Option?
    Grüße, Stefko

  5. #5
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    645
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard

    Hm, das wäre natürlich auch eine Option

    Doch mich würd dennoch interessieren, wie ich es bearbeiten kann. Falls ich statt Website mal was anderes haben möchte oder die Website ein Pflichtfeld sein soll - oder so. Alle anderen Formulare wurden ja umgebaut, sodass man sie bearbeiten kann. Nur die Kommentare wohl nicht.

  6. #6
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    645
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard

    ich müsste da dann aber abfragen, ob es sich um einen eingeloggten User handelt. Das ist ein if im if und verwirrt mich... weil's auch grottenfalsch ist. Wie schreib ich das richtig?

    PHP-Code:
    <?php foreach ($this->fields as $field): ?>
                  <?php if (!in_array($field->name, array('website' <?php if (FE_USER_LOGGED_IN === true): ?>, 'name', 'email' <?php endif; ?>))): ?>
                      <?= $field->parse() ?>
                  <?php endif; ?>
              <?php endforeach; ?>

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

    Standard

    ggf. so
    PHP-Code:
     <?php foreach ($this->fields as $field): ?>
        <?php 
        $conditions
    [] = 'website';
        if (
    FE_USER_LOGGED_IN) {
            
    $conditions[] = 'name';
            
    $conditions[] = 'email';
        }
        if (!
    in_array($field->name$conditions))): ?>
            <?= $field->parse() ?>
        <?php endif; ?>
    <?php 
    endforeach; ?>
    wobei mir nicht ganz klar ist, was das werden soll... na, egal

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

    Standard

    @Kim - nach Telefonat...

    Du suchst doch nach "... name="name"..." oder "...name="email"..." und willst
    "... name="name" disabled..." oder "...name="email" disabled..." wenn eingeloggt,

    dann mach eine Fallunterscheidung nach login und wenn ja, dann ersetze, wenn nicht nix

    PHP-Code:
     <?php foreach ($this->fields as $field): ?>
        <?php if (FE_USER_LOGGED_IN): ?>
            <?= str_replace(['name="name"''name="email"'], ['name="name" disabled''name="email" disabled'], $field->parse()) ?>
        <?php else: ?>
            <?= $field->parse() ?>
        <?php endif; ?>
    <?php 
    endforeach; ?>

  9. #9
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nachsatz: bei disabled wird der Werte der drin steht nicht übertragen ... bei readonly aber schon ... wenn das relevant ist, ob der Wert zwar nicht änderbar sein soll, aber trotzdem zu übertragen ist, wäre readonly die besser Wahl.

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

    Standard

    good point - k.A. ... muss Kim wissen

  11. #11
    Contao-Fan Avatar von k-webdesign
    Registriert seit
    07.06.2010.
    Ort
    Karlsruhe
    Beiträge
    645
    Partner-ID
    5911
    User beschenken
    Wunschliste

    Standard

    Cool, danke! Also getestet hab ich es nun mit beidem. Egal ob readonly oder disabled, die Werte werden eingesetzt.

    Jetzt flog nur mein Teil raus, mit dem ich das Feld "website" entferne. Wie bekomm ich das wieder verheiratet?

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

    Standard

    per Mumble...

    if (in_array($field->name, ['website']) {continue;} vorweg

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
  •