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

Modul-Entwicklung

Fragen und Tipps zur Entwicklung eigener Drupal-Module.

Dynamische Optionsliste für List Field [gelöst]

Eingetragen von valderama (47) am 01.08.2011 - 15:08 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Bräuchte ein List Field, bei dem die zur Verfügung stehenden Optionen dynamisch sind (Für jeden Node anders).

Da gibts wohl die Property "allowed_values_function" bei List Feldern -- das dürfte eine Art Callback sein. Allerdings finde ich keine gute Doku für wie man damit arbeiten kann.

Hat jemand schon mal damit rumgespielt und hat eventuell Tips?

Danke + Grüße,
Walter

UPDATE:

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen

Text beim Speichern modifizieren

Eingetragen von batman1983 (189) am 31.07.2011 - 12:29 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo zusammen,

ich möchte beim Speichern eines Nodes den Text auf bestimmte Links überprüfen und diese ggf. ändern. Durch mein Redaktionsteam, bin ich gezwungen, diese Änderung selbst händisch durchzuführen oder durch ein kleines Modul zu lösen.
Kennt jemand ein Modul, welches genau das macht, was ich mir modifizieren kann?

MFG Batman1983

  • 5 Kommentare

Views in eigenem Modul

Eingetragen von Lumio (9) am 28.07.2011 - 14:10 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo,

ich versuche gerade ein Modul zu schreiben das mir eine gewisse View ausliest und in einer Region modifiziert darstellt.

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen

dynamische Menueinträge mit menu-hook erzeugen ohne Callback-Funktion

Eingetragen von GevatterTod (85) am 25.07.2011 - 21:23 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi,
ich möchte in ein Menü über ein Modul mit dynamischen Menüpunkten füllen, also der klassische Link zum Benutzerkonto z.b. (user/ ' . $user->uid .' /edit).
Mir selbst ausgedacht und zum Thema gefunden habe ich bisher nur, dass man einen Funktionsaufruf als Callback definiert und dort entsprechend umleitet.
Das scheint mir aber irgendwie unnötig und umständlich:

  • Anmelden oder Registrieren um Kommentare zu schreiben
  • Weiterlesen

Ergebnisse unterhalb der $form

Eingetragen von andre8 (14) am 25.07.2011 - 20:21 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi zusammen,
kann mir jemand sagen wie ich mir die Ergebnisse unterhalb der $form anzeigen lassen kann. (wert aus dropbox auswählen und dann submit)
Derzeit arbeite ich mit "$form_state['redirect']" in der submitmethode und verweise auf einen anderen link der zwei funktionen aufruft nämlich die form selbst und die results.
gibt es noch eine andere methode ?

lg andre

  • Anmelden oder Registrieren um Kommentare zu schreiben

Editor für Drupal, Baukastenprinzip, HTML-Code

Eingetragen von psycho1987 (11) am 18.07.2011 - 18:24 Uhr in
  • Modul-Entwicklung

Hallo,
ich habe versucht mich in verschiedenste CMS einzuarbeiten aber ich muss sagen das jedes große Schwächen besitzt.
Am besten hat mir dabei Drupal gefallen aufgrund der verschmelzung von Frontend und Backend UND wegen des guten Forums.
Bisher habe ich damals mit Dreamweaver und dann mit NVU per Editor meine Seiten erstellt, das hat auch immer bei kleineren Seiten super funktioniert.

  • 12 Kommentare
  • Weiterlesen

[gelöst] tabelle unter form nach submit

Eingetragen von andre8 (14) am 13.07.2011 - 10:43 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

hi gemeinde,
ich glaube ich brauch nen denkanstoss.

ich habe ein form das die daten in eine mysql tabelle pusht und per mail versendet.
jetzt möchte ich das nach dem submit auch eine tabelle unter dem form erzeugt wird die die daten aus der mysql tabelle holt.

wo muss ich die funktion sport_page_callback()
eintragen das das erreicht wird.

Danke vorab
LG Andre

<?php
/*
* Formular
*/
function sport_page_form($form_state) {
   
$form['event'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Select your Event'),
     
'#options'          => ev_entries(),
     
'#prefix' => '<div class="sport_event">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
$form['lauf'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Select your Run'),
     
'#options'          => l_entries(),
     
'#prefix' => '<div class="sport_event">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
$form['lastname'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your fullname'),
   
'#prefix' => '<div class="sport_fullname">',
   
'#suffix' => '</div>',
   
'#required' => TRUE,
  );
 
$form['firstname'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your firstname'),
   
'#prefix' => '<div class="sport_firstname">',
   
'#suffix' => '</div>',
   
'#required' => TRUE,
  );
 
 
$form['jahrgang'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Enter the year of your birthday'),
     
'#options'          => jg_entries(),
     
'#prefix' => '<div class="sport_jahrgang">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
 
$form['verein'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your club'),
   
'#prefix' => '<div class="sport_verein">',
   
'#suffix' => '</div>',
  );
 
$form['verband'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your association'),
   
'#prefix' => '<div class="sport_verband">',
   
'#suffix' => '</div>',
  );
 
$options = array("Auswahl", "w", "m");
 
$form['geschlecht'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Enter your male'),
     
'#options'          => $options,
     
'#prefix' => '<div class="sport_jahrgang">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
$form['telefon'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your telefonnumber'),
   
'#prefix' => '<div class="sport_tel">',
   
'#suffix' => '</div>',
  );
 
$form['email'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your E-Mailaddress'),
   
'#prefix' => '<div class="sport_email">',
   
'#suffix' => '</div>',
  );
 
$form['copy'] = array(
   
'#type' => 'checkbox',
   
'#title' => t('Send me a copy.'),
   
'#prefix' => '<div class="sport_copy">',
   
'#suffix' => '</div>',
  );
 
  
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => t('Save'),
   
'#prefix' => '<div class="sport_submit">',
   
'#suffix' => '</div>',
  );

$output  = $form;
// $output .=    sport_page_callback();
return $output;
}


function
sport_page_form_submit($form, $form_state) {
 
//$timestamp = time();
  //$datum = date("d.m.Y - H:i",$timestamp);
 
$eid = $form_state['values']['event'];
 
$name = $form_state['values']['lastname'];
 
$vorname = $form_state['values']['firstname'];
 
$verein = $form_state['values']['verein'];
 
$verband = $form_state['values']['verband'];
 
$jahrgang = $form_state['values']['jahrgang'];
 
$geschlecht = $form_state['values']['geschlecht'];
 
$lauf = $form_state['values']['lauf'];
 
$telefon = $form_state['values']['telefon'];
 
$email = $form_state['values']['email'];
 
$copy = $form_state['values']['copy'];
 
$sql = "INSERT INTO {e_anmeldung} (eid, datum, name, vorname, verein, verband, jid, geschlecht, lid, telefon, email, copy) VALUES('%d', '%d','%s','%s','%s','%s','%d','%s','%d','%s','%s', '%s')";
 
db_query($sql, $eid, time(), $name, $vorname, $verein, $verband, $jahrgang, $geschlecht, $lauf, $telefon, $email, $copy);
 
 
drupal_set_message('Anmeldung zur Teilnahme am '.$lauf.' f&uuml;r '. $name .', '. $vorname .' war erfolgreich !','status', TRUE);
 
  if (
$copy == 1 and $email != '') {
 
$message = array(
 
'to' => $email,
 
'subject' => t('Anmeldebestätigung für Event '.$lauf.' !'),
 
'body' => t('Anmeldung zur Teilnahme am '.$lauf.' für '. $name .', '. $vorname .' war erfolgreich !'),
 
'headers' => array('From' => 'my mail'),
   );
 
drupal_mail_send($message);
  }
 
 
 
}


function
sport_page_callback(){
   
$eid = $form_state['values']['event'];
   
$result = db_query("SELECT * FROM `e_anmeldung` WHERE eid = 2");
     
$output = '';
     
$rows = array();
     
$header = array('Name','Vorname','Verein','Lauf');
     
$rows = array();
    
$i = 0;
          while(
$row = db_fetch_object($result)){
           
$data = array();
           
$data[] = $row->name;
           
$data[] = $row->vorname;
           
$data[] = $row->verein;
           
$data[] = $row->lid;
           
$rows[] = $data;
           
$i++;
              }
     
$output .= theme('table', $header,$rows);
}

?>

  • 2 Kommentare

Mehrer AJAX Buttons auf einer Formularseite

Eingetragen von conscienc3 (1) am 11.07.2011 - 22:14 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hi,

ich stehe vor einem AJAX Problem.

Ich habe zwei Fieldsets in meinem Formular. Jedes Fieldset hat einen Hinzufuegen- und Entfernenbutton ... damit moechte ich via AJAX dynamisch in das 1. Fieldset Textfelder und ins zweite ebenfalls Textfelder einfuegen, jedoch unterschiedlicher Art ... leider functioniert folgendes Codesnippet nicht:

<?php
function telquel_protocol_form($form, &$form_state) {
 
// Because we have many fields with the same values, we have to set
  // #tree to be able to access them.
 
$form['#tree'] = TRUE;
 
$form['names_fieldset'] = array(
   
'#type' => 'fieldset',
   
'#title' => t('Plenumsteilnehmer'),
   
// Set up the wrapper so that AJAX will be able to replace the fieldset.
   
'#prefix' => '<div id="names-fieldset-wrapper">',
   
'#suffix' => '</div>',
  );

 
// Build the fieldset with the proper number of names. We'll use
  // $form_state['num_names'] to determine the number of textfields to build.
 
if (empty($form_state['num_names'])) {
   
$form_state['num_names'] = 3;
  }
 
  for (
$i = 0; $i < $form_state['num_names']; $i++) {
    if (
$i < 3) {
     
$form['names_fieldset']['name'][$i] = array(
       
'#title' => t('@num. Teilnehmer', array('@num' => ($i + 1))),
       
'#type' => 'textfield',
       
'#required' => TRUE,
      );
    }
    else {
     
$form['names_fieldset']['name'][$i] = array(
       
'#title' => t('@num. Teilnehmer', array('@num' => ($i + 1))),
       
'#type' => 'textfield',
      );
    }
  }

 
$form['names_fieldset']['add_name'] = array(
   
'#type' => 'submit',
   
'#value' => t('Hinzufuegen'),
   
'#submit' => array('protocol_add_one_name'),
   
// See the examples in ajax_example.module for more details on the
    // properties of #ajax.
   
'#ajax' => array(
     
'callback' => 'protocol_names_ajax_callback',
     
'wrapper' => 'names-fieldset-wrapper',
     
'name' => 'name',
    ),
  );
 
  if (
$form_state['num_names'] > 1) {
   
$form['names_fieldset']['remove_name'] = array(
     
'#type' => 'submit',
     
'#value' => t('Entfernen'),
     
'#submit' => array('protocol_remove_one_name'),
     
'#ajax' => array(
       
'callback' => 'protocol_names_ajax_callback',
       
'wrapper' => 'names-fieldset-wrapper',
         
'name' => 'name',
      ),
    );
  }
 
 
// Topic-Fieldset definition
 
$form['topic_fieldset'] = array(
   
'#title' => t('Themen'),
   
'#type' => 'fieldset',
   
'#description' => t('Eine Liste der Themen des Plenums'),
   
'#prefix' => '<div id="topics-fieldset-wrapper">',
   
'#suffix' => '</div>',
  );
 
  if (empty(
$form_state['num_topics'])) {
   
$form_state['num_topics'] = 1;
  }
 
  for (
$n = 0; $n < $form_state['num_topics']; $n++) {
   
$form['topic_fieldset']['topic'][$n] = array(
     
'#title' => t('@num. Thema', array('@num' => ($n + 1))),
     
'#type' => 'textfield',
    );
  }

 
$form['topic_fieldset']['add_topic'] = array(
   
'#type' => 'submit',
   
'#value' => t('Hinzufuegen'),
   
'#submit' => array('protocol_add_topic'),
   
'#ajax' => array(
     
'callback' => 'protocol_topics_ajax_callback',
     
'wrapper' => 'topics-fieldset-wrapper',
     
'name' => 'topic',
    ),
  );
 
  if (
$form_state['num_topics'] > 1) {
   
$form['topic_fieldset']['remove_topic'] = array(
     
'#type' => 'submit',
     
'#value' => t('Entfernen'),
     
'#submit' => array('protocol_remove_topic'),
     
'#ajax' => array(
       
'callback' => 'protocol_topics_ajax_callback',
       
'wrapper' => 'topics-fieldset-wrapper',
       
'name' => 'topic',
      ),
    );
  }

 
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => t('Abschicken'),
  );
  return
$form;
}

function
protocol_topics_ajax_callback($form, $form_state) {
  return
$form['topics_fieldset'];
}

function
protocol_remove_topic($form, &$form_state) {
  if (
$form_state['num_topics'] > 1) {
   
$form_state['num_topics']--;
  }
 
$form_state['rebuild'] = TRUE;
}

function
protocol_add_topic($form, &$form_state) {
 
firep('add topic');
 
$form_state['num_topics']++;
 
$form_state['rebuild'] = TRUE;
}

function
protocol_names_ajax_callback($form, $form_state) {
  return
$form['names_fieldset'];
}
function
protocol_add_one_name($form, &$form_state) {
 
firep('add name');
 
$form_state['num_names']++;
 
$form_state['rebuild'] = TRUE;
}

function
protocol_remove_one_name($form, &$form_state) {
 
firep('remove name');
  if (
$form_state['num_names'] > 1) {
   
$form_state['num_names']--;
  }
 
$form_state['rebuild'] = TRUE;
}
?>

Mach ich das ganze mit nur einem Fieldset und einem Buttonpaar funktioniert alles. Was laeuft da schief ? Ich komm mit meiner suche im Internet irgendwie nicht weiter.

Ich danke euch fuer eure Hilfe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Form -> submit -> webroot anstatt Drupal

Eingetragen von etron777 (79) am 08.07.2011 - 07:38 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo zusammen,

ich versuche gerade ein Form zu erstellen.

Wenn ich nun die Submit Function einbaue und auf den Button clicke, wird das webroot aufgerufen.

(Drupal ist im Unterverzeichnis)

Falls es jemand kennt: es ist das Weather_info Beispiel aus Drupal 7 for windows developers

Grüße Knut

  • 5 Kommentare

[gelöst] $form_values leer

Eingetragen von andre8 (14) am 05.07.2011 - 19:02 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

hallo zusammen!

ich stehe auf dem schlauch.
seit 3 h versuche ich daten aus nem formular in die datenbank zu speicher.
print r() gibt die werte fein säuberlich aus.
datum geht aber die form_values nicht.

kann mir bitte jemand sagen wo mein fehler ist.

danke

hier der code:

<?php


/*
* Hilfefunktion bauen
*/
function sport_help($section) {
  switch (
$section) {
    case
'admin/modules#description':
      return
t('This module implements an example form.');
  }
}



/**
* Implementation of hook_init(). Add's the sport module's CSS.
*/
function sport_init() {
 
drupal_add_css(drupal_get_path('module', 'sport') .'/sport.css');
}



/**
* Berechtigungen.
*/
function sport_perm() {
  return array(
'access sport content', 'administer sport');
}




/*
* Link bauen
*/
function sport_menu() {
 
$items = array();

 
$items['sport'] = array(
 
     
// Vergleichbar mit <a href="#">title</a>
     
'title' => 'Anmeldeformular',
     
// Vergleichbar mit <a href="#" alt=""></a>
     
'description' => 'A menu entry that shows how hook_menu() works.',
   
// Ruft die Funktion: function get_user_login_form auf
     
'page callback' => 'get_sport_form',
     
'access callback' => 'user_access',
     
'access arguments' => array('access sport content'),
     
'type' => MENU_CALLBACK
 
);

  return
$items;
}



/*
* Callback function for 'get_form'
*/
function get_sport_form() {
   
$output  = "<h2>";
   
$output .= t('Registration for the run');
   
$output .= "</h2>";
     
$output .= drupal_get_form('sport_page_form');
      return
$output;
}



/*
* Event aus e_event
*/
function ev_entries() {
 
$ev_entries = array();
 
$query="SELECT event,eid FROM e_event WHERE estatus='0'";
 
$result = db_query ($query);
 
$ev_entries[''] = 'Auswahl';
  while (
$row = mysql_fetch_array($result)) {
   
$ev_entries[$row[eid]] = $row[event];
  }
  return
$ev_entries;
}



/*
* Jahrgangsdaten aus e_jahrgang
*/
function jg_entries() {
 
$jg_entries = array();
 
$query="SELECT jahrgang,jid FROM e_jahrgang";
 
$result = db_query ($query);
 
$jg_entries[''] = 'Auswahl';
  while (
$row = mysql_fetch_array($result)) {
   
$jg_entries[$row[jid]] = $row[jahrgang];
  }
  return
$jg_entries;
}



/*
* Formular
*/
function sport_page_form() {
   
$form['event'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Select your Event'),
     
'#options'          => ev_entries(),
     
'#prefix' => '<div class="sport_event">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
$form['lastname'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your fullname'),
   
'#prefix' => '<div class="sport_fullname">',
   
'#suffix' => '</div>',
   
'#required' => TRUE,
  );
 
$form['firstname'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your firstname'),
   
'#prefix' => '<div class="sport_firstname">',
   
'#suffix' => '</div>',
   
'#required' => TRUE,
  );
 
 
$form['jahrgang'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Enter the year of your birthday'),
     
'#options'          => jg_entries(),
     
'#prefix' => '<div class="sport_jahrgang">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
 
$form['verein'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your club'),
   
'#prefix' => '<div class="sport_verein">',
   
'#suffix' => '</div>',
  );
 
$form['verband'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your association'),
   
'#prefix' => '<div class="sport_verband">',
   
'#suffix' => '</div>',
  );
 
$options = array("Auswahl", "w", "m");
 
$form['geschlecht'] = array (
     
'#type'             => 'select',
     
'#title'            => t('Enter your male'),
     
'#options'          => $options,
     
'#prefix' => '<div class="sport_jahrgang">',
   
'#suffix' => '</div>',
     
'#required' => TRUE,
  );
 
$form['telefon'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your telefonnumber'),
   
'#prefix' => '<div class="sport_tel">',
   
'#suffix' => '</div>',
  );
 
$form['email'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Enter your E-Mailaddress'),
   
'#prefix' => '<div class="sport_email">',
   
'#suffix' => '</div>',
  );
 
  
$form['submit'] = array(
   
'#type' => 'submit',
   
'#value' => t('Save'),
  );
return
$form;
}

function
sport_page_form_submit($form_id, $form_values) {
 
$message = 'You have submitted the ' . $form_id . ' form which contains the following data:<pre>' . print_r($form_values,true) . '</pre>';
 
drupal_set_message(t($message));
 
//$timestamp = time();
  //$datum = date("d.m.Y - H:i",$timestamp);
 
$sql = "INSERT INTO {e_anmeldung} (datum, name) VALUES('%d','%s')";
 
db_query($sql, time(), $form_values['lastname']);
}
?>

  • 2 Kommentare
  • « erste Seite
  • ‹ vorherige Seite
  • …
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • …
  • nächste Seite ›
  • letzte Seite »

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 4 Tagen
  • Textboxen mit Tabelle
    vor 3 Wochen 5 Tagen
  • Du sollst ja auch keine
    vor 3 Wochen 5 Tagen
  • Theme
    vor 3 Wochen 5 Tagen
  • Welches Theme benutzt du
    vor 3 Wochen 5 Tagen
  • Mit Responsive Raster hatte
    vor 3 Wochen 5 Tagen
  • Hallo Alex,um das Häkchen
    vor 3 Wochen 6 Tagen
  • Modul view_unpublished
    vor 4 Wochen 9 Stunden
  • Modul "override node options"
    vor 4 Wochen 1 Tag
  • Im Grunde ist dass ein
    vor 4 Wochen 3 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 19 Gäste online.

Drupal Security

  • SAML SSO - Service Provider - Critical - Authentication bypass - SA-CONTRIB-2026-031
  • Automated Logout - Moderately critical - Cross-site request forgery - SA-CONTRIB-2026-030
  • Unpublished Node Permissions - Critical - Access bypass - SA-CONTRIB-2026-029
  • AI (Artificial Intelligence) - Moderately critical - Information Disclosure - SA-CONTRIB-2026-028
  • OpenID Connect / OAuth client - Less critical - Access bypass - SA-CONTRIB-2026-027
Weiter

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