CCK Fehler mit conditional_fields.module

Drupal 5.x 

Bei Verwendung des CCK Modules conditional_fields kann es unter bestimmten Voraussetzungen zum Fehler

warning: Invalid argument supplied for foreach() in
/path_to_drupal/modules/conditional_fields/conditional_fields.module on line 468.

kommen.

Dieser Fehler tritt auf wenn in einer Feldgruppe ausschließlich ein computed Feld verwendet wird.
Ein computed Feld in einer Feldgruppe erscheint zunächst wenig sinnvoll da es im Bearbeitenformular nicht angezeigt wird. Es mach aber beispielsweise einen Sinn wenn man eine Adresse übernehmen will und im Bearbeitenformular mit der Beschreibung zur Feldgruppe einen Hinweistext anzeigt, daß die Adresse automatisch übernommen wird - angezeigt wird die Adresse im gespeicherten Dokument.

Um den Fehler zu beseitigen kann man in den Code des Modules conditional_fields eingreifen. Dazu wird vor dem foreach der angezeigten Zeilenummer des Fehlers eine Bedingung eingefügt:

if ($required_fields)

Im Zusammenhang sieht das so aus:

// This is to catch remaining fields (required fields in controlled groups)
if ($required_fields) {
foreach ($required_fields as $field_in_group) {
...
...
}
}

 

Danach kann man mit einem (ausschließlichen) computed Feld in einer Feldgruppe arbeiten ohne das es deswegen zu einem Fehler kommt.

Kommentare

Der Fehler tritt auch ohne

Der Fehler tritt auch ohne das Zusammenspiel mit einem computed Feld auf.

Die Beseitigung des  Fehlers kann in diesem Falle ebenso mit dem geposteten Hack des Modules erfolgen.

Powered by Drupal. Created with ZenWalk.