Drupal 7 Inhalt-editieren-Formular (Daten entgegennehmen)?

am 18.05.2013 - 11:59 Uhr in
Hallo zusammen,
ich habe ein altes Modul für Drupal 6 geschrieben, dass ich nun gerne auf Drupal 7 konvertieren möchte.
Ich habe in der Extension eine eigene DB-Tabelle, die ich mit Daten für Autos fülle.
Diese lasse ich mir dann im Adminbereich per Liste anzeigen und habe dort einen EDIT und DELETE Link dahinter.
Wenn ich nun auf EIT klicke, wird bei der Drupal 6 Variante folgende Funktion aufgerufen: function cars_form($form_state, $car = NULL)
über $car hatte ich dann das Objekt mit den Daten des Autos zur Verfügung und konnte somit das Formular vorausfüllen.
Das klappt nun nicht mehr. Ich scheine in der Funktion keine Infos mehr zu dem Auto-Objekt zu besitzen.
Was ich alles habe
<?php
$items['admin/settings/immo/cars/%id/edit'] = array(
'title' => 'Edit attribute',
'page callback' => 'drupal_get_form',
'load arguments' => array(5),
'page arguments' => array('jp_immo_cars_form', 4),
'access arguments' => array('administer jp_immo_cars'),
'type' => MENU_CALLBACK,
'file' => 'jp_immo.admin.inc'
);
...
function id_load($id) {
return db_query("SELECT * FROM {jp_immo_cars} WHERE car_id = '".$id."'") ;
}
....
function jp_immo_cars_form($form_state, $car = NULL) {
// If an attribute specified, add its ID as a hidden value.
if (!empty($car)) {
$form['car_id'] = array('#type' => 'hidden', '#value' => $car->car_id);
drupal_set_title(t('Edit estate: %name', array('%name' => $car->car_name)));
}
$form['car_name'] = array(
'#type' => 'textfield',
'#title' => t('Name'),
'#description' => t('The name of the car.'),
'#default_value' => $car->car_name,
);
...
}
?>
Ich finde leider kein Modul, bei dem ich mir mal etwas abschauen kann. Mir würde es eventuell schon reichen, wenn mir jemand einen Tipp zu einem Modul geben kann, dass auch eigene Daten in der DB abspeichert und diese editieren kann.
- Anmelden oder Registrieren um Kommentare zu schreiben
Probiere es doch mal mit
am 19.05.2013 - 10:40 Uhr
Probiere es doch mal mit einem Placeholder http://api.drupal.org/api/drupal/includes!database!database.inc/group/database/7
return db_query('SELECT * FROM {jp_immo_cars} WHERE car_id = :id', array('id' => $id)) ;
oder so...
Gruß
Christian