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

[gelöst] hook_node_form_alter: Problem default_value für body zu setzen

Eingetragen von Zeg (48)
am 06.08.2015 - 10:06 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo,

ich möchte in hook_node_form_alter für das Body-Feld einen Default-Wert setzen.

Das ganze funktioniert über

$form['body']['de'][0]['value']['#default_value'] = 'test';

allerdings nur dann, wenn ich in den Feldeinstellungen die Option Textverarbeitung auf
"Klartext" setze.

In der Option "Gefilterter Text" wird mein Default-Wert nicht mehr verwendet.

Wo muss ich einhaken, um den Default-Wert auch für den Filter zu setzen?

Beste Grüße,
Zeg

‹ Drupal App Entwicklung [gelöst] hook_node_form_alter: Problem default_value für body zu setzen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, wenn die Option auf

Eingetragen von Hyp1 (1463)
am 06.08.2015 - 10:25 Uhr

Hallo,

wenn die Option auf gefilterter Text ist musst Du
warscheinlich Deinen Text in p Tags setzen, damit er angezeigt wird.
$form['body']['de'][0]['value']['#default_value'] = '<p>test</p>';

LG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

leider nicht

Eingetragen von Zeg (48)
am 06.08.2015 - 10:38 Uhr

Hallo Robert,

nein, leider nicht.

Wenn ich im Edit-Form das Textformat ändere, bleibt immer der Original-Body des Nodes. (Auch bei Klartext).

Nur wenn ich die Feldeinstellung ändere, wird mein default_value übernommen.

Ich gehe davon aus, dass der Filter irgendwo den Orginal-Wert lädt und selbst als default setzt.

Ich finde nicht heraus, wo das geschieht.

Danke fürs Mitdenken!
Zeg

  • Anmelden oder Registrieren um Kommentare zu schreiben

vielleicht ist im

Eingetragen von ronald (3857)
am 06.08.2015 - 10:43 Uhr

content_type etwas hinterlegt?

Schau mal da.

Ich würde es auch eher dort unterbringen, als über einen form_alter ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

$form['body']['de'][0]['#defa

Eingetragen von glycid (921)
am 06.08.2015 - 10:45 Uhr

$form['body']['de'][0]['#default_value'] = 'test'; sollte unabhängig vom Filter funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Ronald, ich habe zum

Eingetragen von Zeg (48)
am 06.08.2015 - 10:51 Uhr

Hallo Ronald,

ich habe zum testen ein ganz frischen ContenType übers Backend angelegt.

Das Problem ist, dass ich diesen "Default-Wert" nur in einem ganz bestimmten Fall ändern möchte, und dieser Wert dynamisch erzeugt werden soll.

Insofern sehe ich nur die Möglichkeit über form_alter, oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

glycid

Eingetragen von Zeg (48)
am 06.08.2015 - 10:55 Uhr
glycid schrieb

$form['body']['de'][0]['#default_value'] = 'test'; sollte unabhängig vom Filter funktionieren.

Leider nicht! Ich bin so vorgegangen:

  1. Neuen Content Type angelegt (test_ct)
  2. Code-Zeile in form_alter für test_ct_node_form ergänzt
  3. Test mit Feldeinstellung Klartext: OK
  4. Test mit Feldeinstellung gefilter: Feher
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, wenn ein Filter

Eingetragen von Hyp1 (1463)
am 06.08.2015 - 11:32 Uhr

Hi,

wenn ein Filter eingeschalten ist, probiers mal

$form['body']['de'][0]['value'] ='test';
$form['body']['de'][0]['safe_value'] ='<p>test</p>';

bei gefiltertem Text wird safe_value ausgegeben.

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn du Bedingungen prüfen musst

Eingetragen von ronald (3857)
am 06.08.2015 - 12:16 Uhr

kommst du natürlich nicht an form_alter vorbei.
Schau mal darauf, dass im content_type KEIN Defaultwert steht.
Und überprüfe mal (durch debug-Ausgaben), ob die Bedingungen erfüllt sind, und form_alter erwartungsgemäß arbeitet.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zeg schrieb Test mit

Eingetragen von glycid (921)
am 06.08.2015 - 12:34 Uhr
Zeg schrieb
  1. Test mit Feldeinstellung Klartext: OK
  2. Test mit Feldeinstellung gefilter: Feher

Hm, ich habs mit dem Body Field des Standard- Content Types "Article" so wie beschrieben getestet und es funktioniert einwandfrei mit beiden Einstellungen plain Text und Filter. Ist auch egal, ob ich in den Feldeinstellungen selber schon einen Default Wert setze, der wird dann korrekt überschrieben.

Ist der Wert für $form['body']['#language'] auch wirklich 'de' ? Teste auch mal:

$form['body']['und'][0]['#default_value'] = 'Mein Wert';

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke

Eingetragen von Zeg (48)
am 06.08.2015 - 19:53 Uhr

Warum auch immer, jetzt funktioniert es?

Möglicherweise habe ich mich selbst ausgetrickst, indem ich nach Änderungen am Code ein "Reload" gemacht habe, statt die Seite völlig neu zu laden ...

Danke an alle!

  • 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 2 Wochen 18 Minuten
  • Hey danke
    vor 2 Wochen 19 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 19 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 35 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