(Gelöst) "Keine Administrationsobjekte verfügbar"
am 26.05.2010 - 18:15 Uhr in
Hallo zusammen.
Ich entwickle gerade eine Modul, bzw. baue ein ehemaliges nicht-Drupal-Projekt zu einem Plugin um. Das funktioniert so weit auch alles (mit gelegentlichem Fluchen und Stecknadelnsuchen) ganz gut dafür, daß es mein erstes Projekt dieser Art ist, aber an einem Punkt beiße ich mir gerade die Zähne aus:
Ich möchte ins zentrale Admin-Menü mehrere Punkte zur Konfiguration einbinden. Dazu habe ich sinngemäß folgende Menü-Items angelegt
function meinprojekt_menu() {
// admin
$items[admin/meinprojekt] = array(
'title' => 'general settings',
'page callback' => 'system_admin_menu_block_page',
'access arguments' => array('administer meinprojekt'),
'file' => 'system.admin.inc',
'file path' => drupal_get_path("module","system")
);
// admin unterbereich 1
$items[admin/meinprojekt/unterbereich1] = array(
'title' => 'Unterbereich 1',
'access arguments' => array('administer meinprojekt'),
'page callback' => 'meinprojekt_callback',
'page arguments' => array('argumente'),
);
$items['admin/meinprojekt/unterbereich2'] = array(
'title' => 'Unterbereich 2',
'page_callback' => 'drupal_get_form',
'page_arguments' => array('meinprojekt_admin_settings'),
'access arguments' => array('administer meinprojekt'),
'file' => 'system.admin.inc',
'file path' => drupal_get_path("module","system")
);
return $items;
}
Der Page Callback des ersten Unterbereichs führt zu einer selbst gebauten Funktion, die problemlos läuft und alles tut was sie soll (ich verwende dort KEINE Drupal-internen Form-Funktionen etc.).
Rufe ich jedoch den zweiten Unterbereich auf, erhalte ich "Keine Administrationsobjekte verfügbar" als Fehler und nicht die eigentlich allen Anleitungen nach zu erwartende Form (sinngemäß):
function meinprojekt_admin_settings() {
$form["meinprojekt_option1"] = array(
"#type" => 'radios',
"#title" => t('Do anything?'),
"#description" => t('Do something instead of just wasting CPU time?'),
"#options" => array(
t('No'),
t('Yes'),
),
"#default_value" => variable_get('meinprojekt_option1',1),
);
$form['#submit'][] = 'meinprojekt_admin_update_settings';
return system_settings_form($form);
}
Ich habe etliche andere Module als Beispiel studiert und finde einfach nicht, was fehlt. Kann mir jemand helfen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich verstehe da was nicht
am 26.05.2010 - 18:52 Uhr
Ich verstehe da was nicht ganz:
'file' => 'system.admin.inc',
'file path' => drupal_get_path("module","system")
Du hast doch nicht etwa Deinen Code in das System Modul eingehängt?
Beste Grüße
Werner
Neee...
am 26.05.2010 - 19:03 Uhr
das hatte ich nur mal ausprobiert. Streichen wir die beiden Zeilen ersatzlos - ändern tut es freilich nix! Trotzdem ne Idee? Ich dreh noch durch...
Betriebsblind
am 27.05.2010 - 13:32 Uhr
Ja, manchmal sieht man den Wald vor lauter Bäumen und den offensichtlichen Fehler vor lauter Code nicht. Aua.
'page callback' =>
'page arguments' =>
(...)
'page_callback' =>
'page_arguments' =>
Au Mann...