Ergebnis 1 bis 31 von 31

Thema: Kommentar Template ändern?

  1. #1
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    640

    Standard Kommentar Template ändern?

    Hallo zusammen,

    ich habe einen Newsbereich bei dem die Kommentarfunktion aktiviert ist. Kommentare schreiben soll möglich sein aber ohne das input Feld Website und ohne die Checkbox zur E-Mail Benachrichtigung.
    In der 3.5 war das einfach zu ändern bzw. zu löschen im Template mod_comment_form.html5 .
    In der 4.4 finde ich jetzt im o.g Template
    PHP-Code:
      <?php foreach ($this->fields as $field): ?>
                <?= $field->parse() ?>
              <?php endforeach; ?>
    Wo kann ich die nicht gewünschten Felder ausblenden (löschen) ?

    LG
    Bennie

  2. #2
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    370

    Standard

    Hi,

    ich hatte gestern gerade den selben Sachverhalt. Bei mir ging es aber nur um das Feld 'Webseite' (ich habe das Notify-Feld aber ergänzt). Ich habe einfach das Template folgendermaßen angepasst.

    PHP-Code:
    <?php foreach ($this->fields as $field): ?>
        <?php if (!in_array($field->name, array('website''notify'))): ?>
            <?= $field->parse() ?>
        <?php endif; ?>
    <?php 
    endforeach; ?>
    Für das Feld 'E-Mmail' wird es wohl nicht so einfach gehen, da es sich hierbei um ein Pflichtfeld handelt.

    Viele Grüße
    René
    aiDESIGNER - www.ai-designer.de, ehemals als Freelancer www.omos.de

  3. #3
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    640

    Standard

    Checkbox zur E-Mail Benachrichtigung.
    nicht das E-Mail Feld sondern unten die checkbox - oder habe ich Dich jetzt missverstanden?

    Das ist der Weg? Also anders geht es jetzt nicht mehr, ja?
    Geändert von Bennie (25.08.2017 um 08:34 Uhr)

  4. #4
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    370

    Standard

    'notify' ist die Checkbox, das mit dem E-Mail-Feld war eigentlich nur ein Hinweis.

    Mag sein, das es auch andere Lösungswege gibt, ich fand diesen aber recht angenehm. Er hat zumindest für mich keine Nachteile.

    Viele Grüße
    René
    aiDESIGNER - www.ai-designer.de, ehemals als Freelancer www.omos.de

  5. #5
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    640

    Standard

    Ok, das mit notify hatte ich überlesen - sorry

    Was aber mache ich, wenn ich in label bzw input noch bootstrap Klassen einbauen möchte? Kann man das nicht wieder so aufsplitten, dass man die einzelnen Felder im Template zur Verfügung hat?

  6. #6
    Contao-Fan Avatar von Fehrmann
    Registriert seit
    04.07.2009.
    Ort
    Wismar
    Beiträge
    370

    Standard

    Du könntest vor dem parse() des Feldes folgendes machen:

    PHP-Code:
    <?php $field->class .= ' test'?>
    In diesem Fall wird die Klasse 'test' sowohl an das Label als auch das Input-Feld übergeben.
    aiDESIGNER - www.ai-designer.de, ehemals als Freelancer www.omos.de

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.616
    User beschenken
    Wunschliste

    Standard

    Hast du dir auch schon ne Übersicht verschafft?
    PHP-Code:
    <?php foreach ($this->fields as $field): print_r($field); ?>
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Contao-Nutzer
    Registriert seit
    29.11.2017.
    Beiträge
    5

    Standard

    Hallo Gemeinde,

    ja ich weiss, es ist ein älterer Beitrag, aber er hat mir gerade geholfen, deshalb:

    Vielen Dank René für Deine Lösung!

    Und für den Fall, dass das vielleicht auch nochmal jemand benötigt:
    Zitat Zitat von Fehrmann Beitrag anzeigen
    Für das Feld 'E-Mmail' wird es wohl nicht so einfach gehen, da es sich hierbei um ein Pflichtfeld handelt.
    In der Tat lag das Email-Feld auch in meinen Anforderungen. Das habe ich so gelöst, dass ich ein Hidden-Feld übertrage:
    PHP-Code:
              <input type="hidden" name="FORM_SUBMIT" value="<?= $this->formId ?>">
              <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
              <input type="hidden" name="email" value="trash@trash-mail.com"> 
              <?php foreach ($this->fields as $field): ?>
                <?php if (!in_array($field->name, array('email''website''notify'))): ?>
                    <?= $field->parse() ?>
                <?php endif; ?>           
              <?php endforeach; ?>
    Viele Grüße
    Fortunox

  9. #9
    Contao-Nutzer Avatar von harley-rider
    Registriert seit
    08.07.2013.
    Ort
    Bern, CH
    Beiträge
    196

    Standard Eingabefeld 'Kommentar' umbenennen

    Ich benutze die Kommentarfunktion als Gästebuch.
    Bei 3.5 konnte ich entsprechend folgendem Code die Bezeichnung 'Kommentar' in 'mod_comment_form_guestbook.html5' (Kopie von mod_comment_form.html5) umbenennen
    Code:
              <div class="widget">
              	Bitte gib Deinen Beitrag ein *
                <!-- <?php echo $this->fields['comment']->generateLabel(); ?> -->
                <!-- <label for="ctrl_<?= $this->fields['comment']->id ?>" class="invisible"><?= $this->fields['comment']->label ?></label> -->
              </div>
              <div class="widget">
                <?= $this->fields['comment']->generateWithError() ?>
              </div>
    Da ich doch zu wenig PHP kenne, kann mir bitte jemand sagen was ich bei 4.4 für dieselbe Anpassung codieren muss ?
    Code:
              <?php foreach ($this->fields as $field): ?>
                <?= $field->parse() ?>
              <?php endforeach; ?>
    Danke schon mal zum voraus

  10. #10
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.616
    User beschenken
    Wunschliste

    Standard

    Das ist doch bestimmt ein Sprachbaustein. Sieh mal hier https://github.com/contao/comments-b...o/languages/de

    Sprachbausteine kannst du neu deklarieren, sieh z.B. hier https://de.contaowiki.org/Ordner_und...2Flanguages.2F
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  11. #11
    Contao-Nutzer Avatar von harley-rider
    Registriert seit
    08.07.2013.
    Ort
    Bern, CH
    Beiträge
    196

    Standard

    Danke Andreas

    Ändere ich damit aber nicht generell die Bezeichnung ?
    Ich möchte ja nur die Bezeichnung beim 'Gästebuch' ändern, bei allen andern Seiten mit Kommentarfunktion sollte 'Kommentar' beibehalten werden.

  12. #12
    Contao-Fan Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    933

    Standard

    Ich wollte gerade das Kommentartemplate anpassen, da das Formular beim Feld Website: www.test.de nicht zulässt.
    Nur mit http:// wird das Formular abgeschickt.
    Wo kann ich das Formular ändern und Website einfach rauswerfen?

    Im mod_comment_form.html5 steht ja
    PHP-Code:
    <!-- indexer::stop -->
    <div class="form">
      <?php if ($this->requireLogin): ?>
        <p class="info"><?= $this->login ?></p>
      <?php else: ?>
        <?php if ($this->confirm): ?>
          <p class="tl_confirm"><?= $this->confirm ?></p>
        <?php elseif ($this->allowComments): ?>
          <form<?php if ($this->action): ?> action="<?= $this->action ?>"<?php endif; ?> id="<?= $this->formId ?>" method="post">
            <div class="formbody">
              <input type="hidden" name="FORM_SUBMIT" value="<?= $this->formId ?>">
              <input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
              <?php foreach ($this->fields as $field): ?>
                <?= $field->parse() ?>
              <?php endforeach; ?>
              <div class="widget widget-submit">
                <button type="submit" class="submit"><?= $this->submit ?></button>
              </div>
            </div>
          </form>
        <?php endif; ?>
      <?php endif; ?>
    </div>
    <!-- indexer::continue -->
    wo finde ich die einzelnen Felder?
    Gruß Mark

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    21.389
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Die sind hardgecodet.

  14. #14
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Tagchen und frohe Pfingsten :-)

    Ich hänge mich hier mal mit dran, weil ich fast das selbe Problem habe. Mir geht's zwar nicht unbedingt um das Ausblenden von Feldern - aber darum, dass das Template mod_comment_form.html5 für mich ebenfalls unverständlicher (gegenüber 3.5) geworden ist; besonders der Code-Teil den Bennie im Ursprungsposting hat.
    Auch ich benutze die Kommentarfunktion als Gästebuch und hatte (bzw. habe) in der 3.5 Das Eingabefeld VORNE, das Label hinten, also rechts davon. In der 4.4 sieht das IMHO nur abscheulich aus wie es ist, siehe Anhang. Des Weiteren fehlt (!) das Captcha Feld, obwohl es laut $this->showTemplateVars() da sein müsste.
    Konkret also meine beiden Fragen:
    1. Wie bekomme ich die Elemente "Feld" und "Label" wieder in die richtige Reihenfolge? (im 3.5 brauchte ich im Template mod_comment_form jeweils nur zwei Zeilen gegeneinander zu tauschen)
    2. Wie bringe ich das Captcha-Feld da wieder hin?
    Vielleicht wichtig: ich habe bei der Installation eine Kopie der DB meiner 3.5 Instanz benutzt.
    Angehängte Grafiken Angehängte Grafiken

  15. #15
    AG Pressearbeit
    Community-Moderator
    Buchautor 'Contao für Webdesigner'
    Avatar von planepix
    Registriert seit
    05.06.2009.
    Ort
    Stuttgart
    Beiträge
    5.659
    Partner-ID
    107
    User beschenken
    Wunschliste

    Standard

    Schau mal hier:
    https://contao-academy.de/blog/komme...tao-4-anpassen

    Vor 2 Tage veröffentlicht.
    ---------------------------------
    Beste Grüße planepix
    Contao für Webdesigner (Website), Twitter: @contaowebdesign
    weitzeldesign
    Contao Schulungen: https://www.weitzeldesign.com/cms-co...chulungen.html
    Contao Jahrbuch: www.contao-jahrbuch.de
    Contao Agenturtag: www.contao-agenturtag.de
    Contao Stammtisch Stuttgart: www.contao-stammtisch-stuttgart.de
    Contao 4 Erfahrungen als Gitbook: https://planepix.gitbooks.io/erfahru...tao-4/content/
    Contao 4 & Manager Hosterhinweise: https://github.com/contao/contao-manager/wiki

    It's OpenSource. So invest with your code, your time to test and your support.

  16. #16
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Danke, so richtig hilft mir das leider nicht; mir geht's ja nicht um das Ausblenden von Feldern.
    Der schwarze Kasten dort mit den templatevars sieht bei mir fast genauso aus, d.h. unter fields taucht bei mir auch captcha auf - wird aber nicht angezeigt (Problem 1). Spannend finde ich, dass in verlinkten Beispiel die label anscheinend IM input Feld drin dargestellt werden. Das ist vermutlich CSS? Wie? (Entweder Problem 2 oder mein Wunsch nach tauschen wie oben geschrieben)
    Geändert von purzel (09.06.2019 um 16:08 Uhr)

  17. #17
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    13.865
    User beschenken
    Wunschliste

    Standard

    Ab Contao 4.4 wird das Captcha-Feld ausgeblendet (Stichwort: Honeypot-Spamschutz). Siehe auch: https://contao.org/de/news/contao_4-4-0.html
    Contao Community Administrator
    [Unterstützungsmöglichkeiten]

  18. #18
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Danke, das mit Honeypot (und dem deswegen "fehlenden" Captcha) habe ich wohl verstanden. Aber:

    Nun habe ich den Thread gefühlte 42 Mal gelesen. Die Meisten wollen ja irgendwelche Felder "ausblenden", darum geht's mir ja gar nicht.
    Ich will lediglich <label> und <input ...> gegeneinander tauschen; das ging im 3.5er Template wie gesagt ganz bequem und einfach.
    Interpretiere ich die Antwort von @spooky richtig, wenn ich denke "Das Tauschen geht nicht (mehr)"? Falls richtig: WARUM hat man die Möglichkeit entsorgt?

    {später}
    Weiterhin (fällt mir jetzt erst auf): diese Checkbox mit der EMail-Benachrichtigung habe ich in meiner 3.5 auch nicht - möglicherweise habe ich die damals auch im Template eliminiert (weiß ich nicht mehr), vielleicht ist sie auch neu. Die ließ sich aber tatsächlich ganz leicht mit der Anleitung von planepix 'rauskanten. Danke (jetzt dann doch *g*)

  19. #19
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    13.865
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    In der 4.4 sieht das IMHO nur abscheulich aus wie es ist
    Gegen Abscheulichkeiten hilft meistens CSS. Die Reihenfolge kannst Du somit auch mittels CSS entsprechend anders anordnen.

    Zitat Zitat von purzel Beitrag anzeigen
    Wie bekomme ich die Elemente "Feld" und "Label" wieder in die richtige Reihenfolge?
    Eine "richtige" Reihenfolge gibt es nicht. Das ist – wie so vieles – wohl Geschmackssache.
    Contao Community Administrator
    [Unterstützungsmöglichkeiten]

  20. #20
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Gegen Abscheulichkeiten hilft meistens CSS. Die Reihenfolge kannst Du somit auch mittels CSS entsprechend anders anordnen.
    Echt? Ich kann die Reihenfolge via CSS beeinflussen? Bei z.B. DIVs kenne ich das, aber bei LABEL und INPUT? Da geht das auch? Wie denn? Ich kenne zwar die Pseudoklasse :before und :after aber ist DAS das Mittel der Wahl?

    Zitat Zitat von xchs Beitrag anzeigen
    Eine "richtige" Reihenfolge gibt es nicht. Das ist – wie so vieles – wohl Geschmackssache.
    Sorry, ich habe mich unvollständig ausgedrückt. Richtig(er) wäre wohl: Wie bekomme ich die Elemente "Feld" und "Label" wieder in die für mich richtige Reihenfolge? (also ERST <input...> DANN <label ...>, eben so, wie es meine 3.5er Instanz macht (siehe auch Anhang)
    Angehängte Grafiken Angehängte Grafiken

  21. #21
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    21.389
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Reihenfolge kannst du zB mit flex per CSS ändern.

    Ich denke aber, dass man das auch in Contao 4 noch per Template Änderung machen kann.

  22. #22
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Ich habe zwar mit CSS nicht geschafft, die "optische" Reihenfolge von <label> und <input> zu tauschen, aber mein Gästebuch-Formular mit CSS etwas aufzuhübschen. Immerhin.

    Damit kann ich erstmal leben - denn die andere Variante, das Template form_row "umzubiegen" hat den Nachteil, dass das auf alle Formulare wirkt - was ich nicht will. Nun könnte ich in allen anderen Formularen angeben, ein anderes Template zu benutzen, das wäre jedoch arg umständlich. Und bloß weil man <label> und <input> nicht mehr im Template der Kommentarfunktion tauschen kann

    Alternativ diesem <?= $field->parse() ?> (welches ja in mod_comment_form benutzt wird) ein anderes "Sub-Template" (nämlich ein modifiziertes form_row) "unterjubeln" geht wohl auch nicht?

  23. #23
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    13.865
    User beschenken
    Wunschliste

    Standard

    Mit den Deklarationen display: flex; und order: x; wie von @Spooky oben vorgeschlagen sollte das doch ganz einfach sein. Poste mal einen Link zum Formular, dann kann man bestimmt weiterhelfen.
    Contao Community Administrator
    [Unterstützungsmöglichkeiten]

  24. #24
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Ah, jetzt wird's mir etwas klarer - mit dem flex-Tipp vom wandelnden Contao-Lexikon (unterschreib' ich sofort) Spooky stand ich etwas wie Ochs vorm Berch. Das was mir meine Recherchen zu "flex css" zutage förderten fand ich nicht wirklich hilfreich...

    Ich probiere das mit Deinem Tipp erstmal selber - habe ja auch meinen Stolz
    Wenn ich das nicht schaffe, poste ich mal den Link...

  25. #25
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Entweder ist irgendwas kaputt (wenn ja bin ich für jeden Tipp dankbar) oder das Problem bei Goneo ist schlimmer als angenommen.

    Leider kann ich nicht genau sagen, seit wann das ist - bin aber der Meinung, das es ist seit dem ich manuell var/cache gelöscht habe (`rm -rf var/cache`).

    Symptom: JEDE Seite die erzeugt wird zeigt jetzt oben rechts
    if (TL_MODE == 'BE') { $GLOBALS['TL_CSS'][] = 'files/backend/be_styles.css'; }
    und das ist genau das, was ich in app/Resources/contao/config/config.php drin habe. Im HTML-Source steht's auch:
    HTML-Code:
    if (TL_MODE == 'BE')
    {
      $GLOBALS['TL_CSS'][] = 'files/backend/be_styles.css';
    }
    
    <!DOCTYPE html>
    <html lang="de">
    <head>
    
          <meta charset="utf-8">
    usw.
    Ich muss das erstmal auf Eis legen und hoffe, dass sich das Problem morgen verflüchtigt hat.

  26. #26
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    21.389
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Du hast vermutlich vergessen den PHP open Tag zu schreiben.

  27. #27
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Nicht nur den - auch den PHP close Tag (Obwohl mir mal jemand gesagt hat, den bräuchte man nicht unbedingt)

    Interessanterweise ging es ja trotzdem eine Weile. Es ging auch WIEDER, nachdem ich übergangsweise im Goneo Kundencenter auf PHP 7.2 und wieder zurück auf 7.1 gestellt und im Contao Manager den Symfony Cache neu erzeugt hatte.

    Jetzt habe ich aber beide Tags drin.

    Und auch nochmal: Du machst Deinem "Beinamen" alle Ehre. "Wandelndes Contao-Lexikon". Echt super!

    Ach ja, das eben war ja OffTopic

    Zurück zum Thema: das mit dem display:flex; und der Anordnung der Felder habe ich vergleichsweise schnell hinbekommen. Gar nicht so schwer wenn man erstmal weiß nach was man "googeln" muss.

  28. #28
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    13.865
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Nicht nur den - auch den PHP close Tag
    Letzteren solltest Du wieder entfernen. Der führt meist nur zu Fehlern, insbesondere, wenn danach noch irgendwelche Zeichen ausgegeben werden.
    Contao Community Administrator
    [Unterstützungsmöglichkeiten]

  29. #29
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Letzteren solltest Du wieder entfernen. Der führt meist nur zu Fehlern, insbesondere, wenn danach noch irgendwelche Zeichen ausgegeben werden.
    OK... Dann stimmt es also, dass
    Zitat Zitat von purzel Beitrag anzeigen
    ...PHP close Tag (Obwohl mir mal jemand gesagt hat, den bräuchte man nicht unbedingt)
    Es ist zwar ein bisschen OffTopic, aber "aus gegebenem Anlass": gibt es denn eine Art Faustregel, wann man das End-Tag setzt und wann nicht? In Templates sind sie immer drin und wenn ich mal selber was programmiert habe (prozedural, das Objektorientierte kapiere ich vorn und hinten nicht!) habe ich auch immer artig End-Tags gesetzt.

  30. #30
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    21.389
    Partner-ID
    10107
    User beschenken
    Wunschliste

    Standard

    Die 'Faustregel' ist: du setzt den End Tag nur wo du ihn brauchst. In einem Template brauchst du ihn zwingend, weil du ja PHP und HTML Code mischst.

  31. #31
    Contao-Nutzer
    Registriert seit
    26.03.2010.
    Beiträge
    232

    Standard

    Super, danke - einleuchtend und verständlich.

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
  •