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 - 11: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 - 13: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 - 14: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 - 14: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 - 14: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 - 15: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 - 07: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 - 14: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 - 14: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 - 14: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 - 14: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 - 15: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 - 16: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 - 16: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 - 16: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 - 19: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 - 07: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 - 07: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

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Tag 9 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Tagen 1 Stunde
  • melde mich mal wieder, da ich
    vor 7 Wochen 6 Tagen
  • Hey danke
    vor 8 Wochen 16 Minuten
  • Update: jetzt gibt's ein
    vor 8 Wochen 18 Stunden
  • Hallo, im Prinzip habe ich
    vor 8 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 8 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 9 Wochen 2 Tagen
  • In der entsprechenden View
    vor 9 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

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