Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

[gelöst] Kommentarfunktion als Gästebuch verwenden

Eingetragen von tetri999 (153)
am 14.08.2013 - 11:16 Uhr in
  • Views
  • Drupal 7.x

Hallo,

ein Gästebuch-Modul für D7 gibt es offenbar noch nicht - es wird empfohlen, das mit der Kommentarfunktion zu machen.
Das habe ich so gemacht:
- contentType guestbook angelegt
- davon einen node "Gästebuch" mit aktivierten Kommentaren, Kommentarfelder: Name, Nachricht, - als Menüpunkt eingehängt
- eine custom-template Datei page--guestbook.tpl.php - damit ich die Ausgabe in meinem theme besser unter Kontrolle habe
- eine view guestbook, das mir alle comments vom contentType guestbook ausgibt (die Felder postdate, commentName, commentBody) - mit pager und AJAX aktiviert
- in der page--guestbook.tpl.php die comment-form und die view-Ergebnisliste folgendermaßen eingebaut:

$guestForm = $page['content']['system_main']['nodes'][$node->nid]['comments']['comment_form'];
$guestView = views_get_view('guestbook');
$view = $guestView ->preview('default');
...
<div id="guestForm">
<?php print render($guestForm); ?>
</div>
<div id="guestList">
<?php print $view; ?>
</div>

Das funktioniert soweit hervorragend.
Auf der Gästebuch-Seite habe ich das Formular und die vorhandenen Einträge - wenn ich einen neuen Eintrag sende, lande ich auf einer URL wie ../node/68#comment-19, die genauso aufgebaut ist, und der neue Eintrag steht oben als erster in der Liste.

Das Problem:
Das Feld comment_body ist ein Plichtfeld - wenn ich das Formular unausgefüllt sende, lande ich auf einer URL wie ../comment/reply/68, wo mir die comment-form mit entprechendem Fehlerhinweis angezeigt wird, aber nicht mehr die Liste der Einträge.
Außerdem erscheinen in dem Formular die Links "Gästebuch", "neuen Kommentar schreiben" und einer zum user-Profil.

Was bedeutet das?
Was ist ../comment/reply/68 für eine Seite?
Wie kann ich die beeinflussen bzw. erreichen, daß ich in diesem Fall auf der gleichen Seite "Gästebuch" lande - mit Error-Message und der Liste der Einträge und ohne zusätzliche Links?

Kann mir hier jemand weiterhelfen?
Gruß, Michael

‹ [gelöst] View Filterkriterien Taxonomie Begriffe vergleichen [gelöst] Kommentarfunktion als Gästebuch verwenden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Übliches Verhalten

Eingetragen von Nicolai Schwarz (1071)
am 14.08.2013 - 12:33 Uhr

Das hört sich nach dem üblichen Verhalten von Drupal an. Wenn im Formular ein Fehler ist, sieht man sonst auch nur die Fehler und das konkrete Kommentar-Formular auf einer einzelnen Seite. Das ist meiner Meinung nach auch die beste Lösung, damit andere Inhalte nicht davon ablenken, die Fehler zu korrigieren.
Du könntest versuchen, das Formular direkt im Browser zu überprüfen, etwa mit: https://drupal.org/project/clientside_validation

Warum dort Links zum Gästebuch, User etc. erscheinen, kann ich nicht sagen. Ich habe das eben mal mit einem Kommentar auf einer meiner Seiten ausprobiert. Dort erscheinen die Links nicht. Wird wohl am Theme / den Einstellungen liegen.

Ansonsten: Warum hast du dir da einen View gebaut? Grundsätzlich stellt Drupal die Kommentare ohnehin unter dem Beitrag dar. Du musst sie nicht extra herausfiltern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank

Eingetragen von tetri999 (153)
am 14.08.2013 - 14:42 Uhr

für den Hinweis, das client-seitig zu machen.

Da es ja nur um das eine Feld im Gästebuch geht (oder vielleicht noch ein zweites), hab ich das selber mit jQuery erledigt (um noch ein weiteres Modul zu vermeiden):

$("#guestForm #edit-submit").click(function(evt){
var msg = $("#guestForm #edit-comment-body textarea");
if($(msg).val()=='') {
evt.stopImmediatePropagation();
$(msg).addClass("error");
return false;
}
});

funktioniert bestens.

Trotzdem möchte ich nochmal nachfragen:
Was ist ../comment/reply/68 für eine URL? Wozu ist diese Seite gedacht und wie kann man die Darstellung beeinflussen?

mfG, Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kommentar URLs

Eingetragen von Nicolai Schwarz (1071)
am 14.08.2013 - 15:19 Uhr

Das ist der Drupal-interne Pfad, um auf einen Kommentar zu antworten. Kannst du hier im Forum auch ablesen, wenn du auf einen Kommentar antwortest. Zum Beispiel: /comment/reply/47435/168956
Die erste Zahl ist die ID des Nodes, die zweite die ID des Kommentars, auf den du antwortest.

Was willst du denn verändern? Den Kommentar, der angezeigt wird, oder das Formular?
Für die Kommentare gibt es ein eigenes Template. Beim Formular käme es darauf an, was du machen willst.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja klar,

Eingetragen von tetri999 (153)
am 14.08.2013 - 16:47 Uhr

das Problem ist wohl die zweckentfremdete Verwendung der Kommentare für das Gästebuch.
Wenn ich einen Kommentar abgeben will, komme ich auf eine spezielle Seite, und muß dann wieder irgendwie zurück - das will ich bei einem Gästebuch aber nicht, ich will das ohne Umweg alles auf derselben Seite abhandeln.
Das war ja mit der page--guestbook.tpl.php schon erledigt.

Seltsam fand ich nur, daß das bei gültigen Einträgen funktioniert, aber nicht bei ungültigen - also wenn ein Pflichtfeld fehlt.
Aber das ist ja nun mit der client-seitigen Überprüfung auch erledigt.

mfG, Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
Weiter

Neue Kommentare

  • Rollen
    vor 4 Tagen 5 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 22 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 1 Tag
  • melde mich mal wieder, da ich
    vor 9 Wochen 5 Tagen
  • Hey danke
    vor 9 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 10 Wochen 7 Stunden
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 2 Tagen
  • In der entsprechenden View
    vor 11 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250237
Registrierte User: 20466

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 31 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association