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

[gelöst] Reihenfolge der verwendeten Hooks/Funktionen aufzeichnen und abfragen?

Eingetragen von Ionit (1802)
am 18.11.2018 - 21:06 Uhr in
  • Module
  • Drupal 7.x

Hallo Freunde,

ich befülle in einem Node (beim Erstellen) das Locationfeld automatisch über ein Mini-Modul (hook_node_presave).

<?php
function MY_MODULE_node_presave($node) {
$node->field_agentur_model_adresse['und']['0']['street'] = 'Ebelingstrasse';
$node->field_agentur_model_adresse['und']['0']['city'] = 'Berlin';
$node->field_agentur_model_adresse['und']['0']['province'] = 'BE';
$node->field_agentur_model_adresse['und']['0']['province_name'] = 'Berlin';
$node->field_agentur_model_adresse['und']['0']['postal_code'] = 10249;
$node->field_agentur_model_adresse['und']['0']['country'] = 'de';
}
?>

Seit einiger Zeit gibt es damit ein Problem (der Ortsname (city) und das Bundesland (province) werden einfach nicht übernommen, PLZ, Straße und Land hingegen schon). Im erstellten Node fehlen ORT und Bundesland immer, obwohl die Daten korrekt übergeben werden.

Ich weiß leider nicht wo der Fehler liegt, da es weder im Drupal-Log noch im Server-Log eine Fehlermeldung gibt.

Bis die Werte in die Datenbank geschrieben werden, durchlaufen sie ja zahlreiche Funktionen/Prozesse und irgendwo dort verschwinden die Values für ORT und BUNDESLAND (für mich ist aber nicht ersichtlich wo das passiert).

Gibt es eine Möglichkeit in Drupal (beim Speichern eines Nodes) sämtliche Hooks/Funktionen/Prozesse (die im Hintergund ablaufen z.B. Field-Validierung, bis zum Schreiben in die Datenbank etc.) aufzuzeichnen und danach auszugeben, damit ich mir anschauen kann wo die Werte für den Ort und Bundesland "verschluckt werden"?

Hat da jemand eine Idee?

Danke und Gruß

‹ Kann man einen User-Zugang als Teil eines Produkts einrichten? [gelöst] Reihenfolge der verwendeten Hooks/Funktionen aufzeichnen und abfragen? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Am effektivsten ist ein

Eingetragen von Zman (185)
am 19.11.2018 - 00:54 Uhr

Am effektivsten ist ein Debugging mittels xdebug. Wenn du jedoch die komplette Validierungs- und Speicherpipeline debuggen willst, wirst du wahrscheinlich aufgrund der Menge irgendwann resignieren. Da muss man schon wissen wonach man sucht.

Die Reihenfolge der hooks Ausführungen lässt sich zu einem bestimmten Grad beeinflussen. Beispielsweise kannst du die `weight` Spalte der `system` Tabelle für das Modul erhöhen. Es wird sicher nicht viele Module geben, die dieses Feld modifizieren. Im besten Fall nur das Modul, dass dem Feldtyp bereitstellt. Mit einem höheren weight als dieses wird der presave Hook auch später ausgeführt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank für die

Eingetragen von Ionit (1802)
am 19.11.2018 - 01:26 Uhr

Vielen Dank für die Antwort.

Ich habe das Problem aber jetzt gefunden (nachdem ich fast 2000 Zeilen Code im Location-Modul durchgearbeitet habe, um [halbwegs] zu verstehen wie das funktioniert).

In den Field-Settings sind die Collect-Werte des Locationfeldes (dort wo man einstellt ob das city/province-feld "Allow, Required oder Force Default" ist) verschwunden bzw. auf 0 gesetzt.

Im Location-Modul wird bei collect = 0 aber nur per PLZ geocodiert und city und province werden verworfen und daher auch nicht in die Datenbank geschrieben.

Ich kann diese Collect-Werte auch im Nachinein nicht ändern, egal was ich auswähle, collect bleibt immer 0.

Das scheint wohl ein Bug zu sein.

In einer anderen (gespiegelten) DEV-Installation (auf demselben Server) habe ich das Problem nicht.

Ich muss jetzt also im Mini-Modul beim Befüllen des Locationfeldes auch die korrekten collect-Werte mit übergeben, damit Ort und Bundesland mit übernommen werden

$node->field_ort['und']['0']['location_settings']['form']['fields']['city']['collect'] = 1;
$node->field_ort['und']['0']['location_settings']['form']['fields']['province']['collect'] = 1;

Manchmal ist das wirklich zum Haare raufen. Das hat wieder Unmengen Zeit gekostet.

Danke und Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 1 Woche 6 Tagen
  • Vielen Dank für Ihren
    vor 2 Wochen 2 Tagen
  • Composer ist sehr ratsam
    vor 2 Wochen 4 Tagen
  • Vielen Dank für den
    vor 2 Wochen 6 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 2 Wochen 6 Tagen
  • Gut gemacht
    vor 3 Wochen 14 Minuten
  • Layout Builder etc. z.B. für Landing Pages
    vor 3 Wochen 29 Minuten
  • Links
    vor 3 Wochen 2 Tagen
  • Moin,wow, sehr gutes
    vor 3 Wochen 3 Tagen
  • Dass ist eine spannende
    vor 3 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250316
Registrierte User: 20564

Neue User:

  • Robertspaft
  • drupalthemes
  • rofilm

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
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