Navigation
Drupalnews und Drupalblogger
Entwicklungsabteilung
Drupal_write_record

Mit dieser schicken Funktion kann man sehr elegant Daten in seiner Datenbank abspeichern ohne den SQL-Code dafür schreiben zu müssen.
Unterstützte Datenbank-Operationen sind INSERT und UPDATE.
Die Datenbank-Tabelle muss ein Primary Key aufweisen, damit man diese Funktion nutzen kann.
Die Schlüssel oder Eigenschaften des Objects bilden dabei immer den Spaltennamen.
$table Der Name der Tabelle, die muss in der Schema-Api vorhanden sein.
$object Das Object was geschrieben werden soll. Das Object ist eine Referenz, die Standardwerte werden wie in der Schema-API entprechend gefüllt, ebenfalls die ID bei Serial Typ(en). Es kann sowohl ein Array als auch ein Object übergeben werden.
$update Wenn dies ein UPDATE ist, müssen hier die Namen der Primary Keys angegeben werden. Ob der Datensatz bereits in der Datenbank vorhanden ist, muss selbst vorher überpüft werden. Wenn es nur 1 Schlüssel gibt, muss nur ein einfach String übergeben werden.
- <?php
- // Standardize $update to an array.
- }
- return FALSE;
- }
- // Convert to an object if needed.
- $object = (object) $object;
- $array = TRUE;
- }
- else {
- $array = FALSE;
- }
- // Go through our schema, build SQL, and when inserting, fill in defaults for
- // fields that are not set.
- foreach ($schema['fields'] as $field => $info) {
- // Special case -- skip serial types if we are updating.
- continue;
- }
- // For inserts, populate defaults from Schema if not already provided
- $object->$field = $info['default'];
- }
- // Track serial fields so we can helpfully populate them after the query.
- if ($info['type'] == 'serial') {
- $serials[] = $field;
- // Ignore values for serials when inserting data. Unsupported.
- }
- // Build arrays for the fields, placeholders, and values in our query.
- $fields[] = $field;
- $values[] = $object->$field;
- }
- else {
- }
- }
- }
- // Build the SQL.
- $query = '';
- $return = SAVED_NEW;
- }
- else {
- $query = '';
- foreach ($fields as $id => $field) {
- if ($query) {
- $query .= ', ';
- }
- $query .= $field .' = '. $placeholders[$id];
- }
- foreach ($update as $key){
- $values[] = $object->$key;
- }
- $return = SAVED_UPDATED;
- }
- // Execute the SQL.
- if ($serials) {
- // Get last insert ids and fill them in.
- foreach ($serials as $field) {
- }
- }
- }
- else {
- $return = FALSE;
- }
- // If we began with an array, convert back so we don't surprise the caller.
- if ($array) {
- }
- return $return;
- }
- ?>
Konvertierung von Drupal 6.x Module auf 7.x - Teil 2

Überblick der Drupal API Änderung von 6.x nach 7.x - Teil 2
Übersetzung von http://drupal.org/node/224333
Liste wird erweitert, sobald es neue Änderungen gibt und Zeit/Lust vorhanden ist.
Konvertierung von Drupal 6.x Themes auf 7.x

Überblick der Drupal Themes Änderungen in 7.x
Übersetzung von http://drupal.org/node/254940
Liste wird erweitert, sobald es neue Änderung gibt und ich Zeit/Lust habe :D.
Konvertierung von Drupal 6.x Module auf 7.x

Überblick der Drupal API Änderung von 6.x nach 7.x
Übersetzung von http://drupal.org/node/224333
Liste wird erweitert, sobald es neue Änderungen gibt.