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

drupal_execute Fatal error: Unsupported operand types in form.inc on line 522

Eingetragen von mab (54)
am 09.09.2010 - 12:13 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,

ich versuche per Script und drupal_execute nodes zu generieren:

<?php

$node
= new stdClass();      
$node->type = 'vehicle';
    
$form_state = array();
$form_state['values']['title'] = "Title";
$form_state['values']['body'] = 'This is the body text!';
$form_state['values']['name'] = 'batch';
$form_state['values']['op'] = t('Save');

// create the usernode
drupal_execute('vehicle_node_form', $form_state, $node);

?>

Ich erhalte nun jedes Mal den Fehler:
Fatal error: Unsupported operand types in ....\form.inc on line 522

Kennt jmd diesen Fehler? Es läuft drupal 6.1.9 und PHP 5.2.9.

Vielen dank,
mab

P.S.:node_safe möchte ich nicht verwenden, weil ich damit keine CCK-fields speichern kann, selbst wenn die Felder korrekt angegeben sind -...[0]['value']
PHP downgraden ist eigentlich auch nicht die gewünschte Lösung.

‹ Ad Modul mit Userpoints Helfen ein Modul zu entwickeln ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab dazu mal ein Tutorial

Eingetragen von Sense (1559)
am 09.09.2010 - 14:30 Uhr

Ich hab dazu mal ein Tutorial geschrieben. Siehe hier: http://www.sense-design.de/tutorial/drupal-6-programmatisches-anlegen-ei...

  • Anmelden oder Registrieren um Kommentare zu schreiben

hey. danke für deine antwort,

Eingetragen von mab (54)
am 09.09.2010 - 15:20 Uhr

hey. danke für deine antwort, aber die meldung kommt immer noch:

Fatal error: Unsupported operand types in .....\form.inc

  • Anmelden oder Registrieren um Kommentare zu schreiben

Poste mal den Quelltext den

Eingetragen von Sense (1559)
am 09.09.2010 - 15:29 Uhr

Poste mal den Quelltext den Du jetzt verwendest.

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich hab fast deinen code

Eingetragen von mab (54)
am 09.09.2010 - 15:36 Uhr

der fehler taucht in verbindung mit drupal_execute auf.
ich hab fast deinen code verwendet:

<?php
// definition of the form_id (page is the node type)
 
$form_id = 'vehicle_node_form';
 
   
module_load_include('inc', 'node', 'node.pages');

 
// set the node type
 
$node = array('type' => 'vehicle');
 
 
// provide data for node
 
$node_data = array(
   
'values' => array(
     
'title' => $modell,
     
'name' => $GLOBALS['user']->name,
     
'uid' => $GLOBALS['user']->uid,
     
'body' => 'node body',
     
     
'field_vehicle_kategorie' => array( // for cck textfields
       
0 => array(
         
'value' => 'text in cck field 1',
        ),
      ),
     
'status' => 1,
     
'promote' => 0,
     
'op' => t('Save'),
    ),
  );

 
// save node with drupal_execute
 
drupal_execute($form_id, $node_data, (object)$node);
?>

wär cool, wenn du den fehler findest. steh voll auf der leitung...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Poste mal die Zeile Deiner

Eingetragen von Sense (1559)
am 09.09.2010 - 16:02 Uhr

Poste mal die Zeile Deiner form.inc wo der Fehler auftritt, damit wir hier über die gleiche Zeile reden und eventuelle Log Einträge aus der Logübersicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Den Logfiles konnte ich

Eingetragen von mab (54)
am 13.09.2010 - 08:35 Uhr

Den Logfiles konnte ich nichts besonderes entnehmen.

In der form.inc steht folgendes:
$form += _element_info('form');

Ich habe es dann mit folgendem Code versucht:
$form = array_merge(_element_info('form'),$form);

Hat leider beim ersten Versuch noch nichts gebracht. Vermutlich muss ich dann doch die PHP-Version wechseln oder hast du noch eine Idee? Danke...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hab wirklich alles

Eingetragen von mab (54)
am 14.09.2010 - 15:29 Uhr

Ich hab wirklich alles versucht, sogar ein Standard-Coding hilft nicht weiter. Drupal läuft doch mit PHP-Version 5.2.9?

$form_state = array();
module_load_include('inc', 'node', 'node.pages');
$node = array('type' => 'story');
$form_state['values']['title'] = 'My node';
$form_state['values']['body'] = 'This is the body text!';
$form_state['values']['name'] = 'batch';
$form_state['values']['op'] = t('Save');
drupal_execute('story_node_form', $form_state, (object)$node);

Kann jmd. weiterhelfen??

Besten Dank!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also, ich habe das Ganze mal

Eingetragen von Sense (1559)
am 16.09.2010 - 15:06 Uhr

Also,

ich habe das Ganze mal auf einer sauberen Installation ausprobiert und bei mir läuft dies ohne Probleme.
Was hast Du an Zusatzmodulen installiert und mit welchen Feldern ist der Inhaltstyp erweitert?

  • Anmelden oder Registrieren um Kommentare zu schreiben

hallo, danke für deine

Eingetragen von mab (54)
am 16.09.2010 - 15:47 Uhr

hallo,

danke für deine mühe.
habe nur das admin_menu modul installiert, ansonsten eine ganz saubere installation mit xampp 1.7.2 und 1.7.1 also mit PHP 5.3 und 5.2.9 getestet.

<?php
// definition of the form_id (page is the node type)
 
$form_id = 'page_node_form';

 
// include node.pages for functionality
 
module_load_include('inc', 'node', 'node.pages');

 
// set the node type
 
$node = array('type' => 'page');

 
// provide data for node
 
$node_data = array(
   
'values' => array(
     
'title' => 'node title',
     
'name' => 'admin',
     
'uid' => 3,//$GLOBALS['user']->uid,
     
'body' => 'node body',
     
'status' => 1,
     
'promote' => 0,
     
'op' => t('Save'),
    ),
  );

 
// save node with drupal_execute
 
drupal_execute($form_id, $node_data, (object)$node);
?>

Ich vermute es liegt daran:

<?php
$cdir
= getcwd();
chdir('D:/xampp/htdocs/testsite');
include_once(
'./includes/bootstrap.inc');
include_once(
'./includes/form.inc');
include_once(
'./modules/node/content_types.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
//bootstrap_invoke_all('init');

chdir($cdir);
?>

Das Script liegt im Ordner testsite/create_node. Welche Daten muss ich denn laden, damit ich die Befehle korrekt ausführen kann?

Danke,
mab

  • Anmelden oder Registrieren um Kommentare zu schreiben

Au weia, wieso schreibst Du

Eingetragen von Sense (1559)
am 16.09.2010 - 15:57 Uhr

Au weia,

wieso schreibst Du das nicht alles in ein Modul, das würde die ganze Sache doch deutlich vereinfachen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja, du hast recht. bin aber

Eingetragen von mab (54)
am 16.09.2010 - 16:57 Uhr

ja, du hast recht. bin aber noch nicht so tief in der modul-entwicklung...aber der import funktioniert nun;)
hast du mir noch einen kleinen tipp....

function _WHATEVER_page() wird immer beim aufrufen der entsprechenden seite ausgeführt. wie erreiche, dass z.B. funktion A beim ausführen von submit button 1 ausgeführt wird und funktion B beim ausführen von submit button 2.
besser wäre noch folgendes

- Import []
- Löschen []

Wenn die checkbox bei Import aktiviert ist, wird funktion A ausgeführt, wenn Löschen aktiviert ist, dann funktion B.

danke für die hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du mir mehr Details dazu

Eingetragen von Sense (1559)
am 16.09.2010 - 17:04 Uhr

Wenn Du mir mehr Details dazu schickst, dann mach ich Dir da grad nen Modul von, wo Du Deine Programmierung rein packen kannst!
Was hälste davon, hab heut Abend nen bissl Langeweile ... ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das wär cool, danke für das

Eingetragen von mab (54)
am 16.09.2010 - 17:14 Uhr

Das wär cool, danke für das Angebot.

Im Prinzip brauch ich nur eine Seite mit der Möglichkeit verschiedene Operationen auszuführen. Diese Operationen sind alle untereinander aufgelistet mit einer Checkbox:

- Einfügen
- Anzeigen
- Löschen

Je nachdem was aktiviert wurde, wird die dazugehörige Funktion ausgeführt. Eigentlich recht simple, wenn man weiß, wie die form hooks etc. heißen.

Danke für deine Hilfe.
mab

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also die eine Funktion

Eingetragen von Sense (1559)
am 16.09.2010 - 17:30 Uhr

Also die eine Funktion importiert die Nodes, die Andere zeigt sie an und die letzte löscht alle wieder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Anbei das entsprechende

Eingetragen von Sense (1559)
am 16.09.2010 - 20:43 Uhr

Anbei das entsprechende Modul, du findest den Menüeintrag unter Inhaltsverwaltung -> Importieren
Bitte nicht auf Produktivumgebung testen, vorher Datenbank BackUp machen.

Der Inhaltstyp ist auf "page" gesetzt, den müsstest Du dir entsprechend anpassen, folgenden Zeilen sind betroffen:
import.module: 46, 52, 79, 97

AnhangGröße
Import Modul 1.71 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

besten dank für deine

Eingetragen von mab (54)
am 17.09.2010 - 08:05 Uhr

besten dank für deine unterstützung. du hast mir mit dem code einen guten einblick gegeben. kannst du ein buch empfehlen, wo speziell auf die modul-entwicklung eingegangen wird?

  • Anmelden oder Registrieren um Kommentare zu schreiben

http://www.drupalcenter.de/ha

Eingetragen von Sense (1559)
am 17.09.2010 - 08:39 Uhr

http://www.drupalcenter.de/handbuch/17962
Ist für den Einstieg ziemlich gut geeignet.

http://www.drupalcenter.de/handbuch/buecherecke
Drupalcenter Bücherecke

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 3 Wochen 6 Tagen
  • Textboxen mit Tabelle
    vor 3 Wochen 6 Tagen
  • Du sollst ja auch keine
    vor 3 Wochen 6 Tagen
  • Theme
    vor 3 Wochen 6 Tagen
  • Welches Theme benutzt du
    vor 3 Wochen 6 Tagen
  • Mit Responsive Raster hatte
    vor 4 Wochen 3 Stunden
  • Hallo Alex,um das Häkchen
    vor 4 Wochen 12 Stunden
  • Modul view_unpublished
    vor 4 Wochen 1 Tag
  • Modul "override node options"
    vor 4 Wochen 2 Tagen
  • Im Grunde ist dass ein
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250270
Registrierte User: 20483

Neue User:

  • Aathivithyah
  • Aoirhic
  • Stevebok

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 58 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