Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Aussehen & HTML-Ausgabe des Kommentar-Formular ändern

Eingetragen von mhuebl (60)
am 10.08.2007 - 15:59 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo Community.

Erstmal möchte ich mich bedanken. Beschäfige mich seit ca. 2 Wochen mit Drupal und dieses Forum hat mir schon oft weitergeholfen.

Heute habe ich aber eine Frage deren Lösung ich nirgends finden konnte. Denke aber Ihr werdet mir sicherlich auch hier weiterhelfen können.

Ich möchte das Aussehen des Formulars zum Kommentieren von Nodes (speziell Blogposts) ändern. Allerdings nicht nur das Aussehen (könnte ich ja dann per CSS machen), sondern auch die Reihenfolge der Felder und auch das ausgegebene HTML.

Würde also eine Theme-Funktion schreiben, wie das bei den Breadcrumbs ja auch gut funktioniert.

function phptemplate_breadcrumb($breadcrumb) {
  if (!empty($breadcrumb)) {
    return '<div class="breadcrumb">'. implode(' › ', $breadcrumb) .'</div>';
  }
}

Allerdings finde ich einfach keinen Ansatz für das Formular. Hat das mal jmd gemacht und kann mir ein Beispiel geben, wie das mit einem Formular aussehen würde.
Da fehlt mir doch einfach noch der tiefe Einblick in Drupal.

Würde mich sehr über ein paar Tipps freuen, wo ich zu suchen habe. Oder am besten ein Beispiel.
Wäre sehr cool!

Danke schonmal!

‹ Mainframe Scondary Links - Menu ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

FAQ

Eingetragen von md (3717)
am 10.08.2007 - 16:49 Uhr

Schau mal hier:
http://www.drupalcenter.de/faq/4468

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Per Template überschreiben

Eingetragen von drubb (580)
am 10.08.2007 - 17:02 Uhr

Hallo,

Du kannst das Formular per PHP Template überschreiben, dafür gibt es zwei Wege:

a) Nur Änderung in template.php durch Einfügen folgender Funktion:

function phptemplate_comment_form($form) {

  ... hier würde das Formular modifiziert !

  $output = drupal_render($form);
  return $output;
}

b) Änderung in template.php und Erstellen einer comment-form.tpl.php:

template.php:

function phptemplate_comment_form($form) {
  return _phptemplate_callback('comment-form', array('form' => $form));
}

comment-form.tpl.php:

<?php

 
... hier würde das Formular modifiziert !

 
drupal_render($form);
?>

Soweit sieht das Formular unverändert aus. Die Arbeit besteht jetzt darin, den Array FORM zu analysieren und nach Wunsch zu modifizieren. Am Besten Du fängst da mal mit einem var_dump ($form) an statt des drupal_render, dann siehst du die Struktur und ahnst vielleicht wo das hin führt.

Gruß,
Boris

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, Danke! Das hat mir

Eingetragen von mhuebl (60)
am 10.08.2007 - 19:58 Uhr

Hallo,

Danke! Das hat mir schonmal ein Stückchen weitergeholfen.

Noch ein paar Sachen, die mir auf dem Weg des Verstehens helfen würden:

1.) Woher weiß ich denn, dass ich das Template comment-form.tpl.php bzw die Funktion xxx_comment_form nennen muss? (Außer jedes Mal hier zu fragen ;)

2.) Wie bekomme ich nun raus, wie ich welche Felder ansprechen kann, bzw welche Felder überhaupt existieren?

3.)Unter /modules/comment/comment.module in der Funktion comment_form werden die Felder erstellt (denk ich mal). Dort wird allerdings kein HTML-Code erzeugt. Es muss doch also noch irgendwo ein "Standard-Template" geben oder?

Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Name für Template

Eingetragen von md (3717)
am 10.08.2007 - 20:46 Uhr

Also, wenn wie hier http://www.drupalcenter.de/faq/4468 beschrieben die Template Engine den Namen nicht automatisch erkennt, dann funktioniert das eben über diesen Code:

<?php
function phptemplate_comment_form($form) {
  return
_phptemplate_callback('comment-form', array('form' => $form));
}
?>

Den Namen deines Templates kannst DU hier selber festlegen. Dort wo jetzt 'comment-form' steht, kannst du auch 'mein-kommentar-formular' schreiben. Dann muss dein Template 'mein-kommentar-formular.tpl.php' heißen.

vg
--
md - DrupalCenter

mdwp* :: Drupal Services

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie gesagt, var_dump

Eingetragen von drubb (580)
am 10.08.2007 - 23:49 Uhr
michels schrieb

2.) Wie bekomme ich nun raus, wie ich welche Felder ansprechen kann, bzw welche Felder überhaupt existieren?

Dazu dient eben der var_dump($form), der dir alle Felder des Formulars mit Feldnamen, Inhalten etc. ausgibt. Du kannst dann die Reihenfolge ändern über ...['weight'], oder Felder entfernen mittels unset(...), usw.

Gruß,
Boris

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kommt Zeit kommt Rat

Eingetragen von mhuebl (60)
am 11.08.2007 - 00:28 Uhr

Ok, ich seh schon. Da muss ich noch ein paar Stunden investieren bis ich da mitreden kann :-)

Danke schon mal soweit Euch beiden!
Mal schaun wie weit ich komme.
Falls zufällig jmd noch ein konkretes Beispiel (function theme_comment_form) parat hat, immer her damit.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 17 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 17 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» 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 15 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