Filtern von Navigationen
am 07.06.2010 - 10:01 Uhr in
Hallo,
ich bin ganz neu bei Drupal und muss leider schon mein erstes Modul erstellen. Ich möchte mal in die Runde fragen ob ich auf dem richtigen Weg bin.
Es geht um die Verwaltung der einzelnen Menüs. Diese sollen nur je nach Rolle zugänglich sein. Also Rolle A kann die Menüs 1 und 2 bearbeiten, Rolle B kann nur das Menü 3 bearbeiten. Die Zuweisung Menü<->Rolle ist kein Problem.
Zunächst möchte ich nur die Liste der Menüs unter admin/build/menu eingrenzen. Ich habe einiges mit Hooks probiert, aber hatte noch keinen winzigen Erfolg diesbezüglich.
Die Funktion die die Liste ermittelt ist folgende aus modules/menu/menu.admin.inc
function menu_overview_page() {
$result = db_query("SELECT * FROM {menu_custom} ORDER BY title");
$content = array();
while ($menu = db_fetch_array($result)) {
$menu['href'] = 'admin/build/menu-customize/'. $menu['menu_name'];
$menu['localized_options'] = array();
$menu['description'] = filter_xss_admin($menu['description']);
$content[] = $menu;
}
return theme('admin_block_content', $content);
}
Sehe ich das richtig, dass man hier nicht eingreifen kann? Die Funktion ermittelt die Menüs aus der DB und erzeugt direkt per theme() die Ausgabe. Keine Möglichkeit die Originalausgabe zu Fitern, oder?
Danke schon mal für Hinweise oder ein einfaches "Ja, siehst du richtig". :-)
Liebe Grüssse,
zolid
- Anmelden oder Registrieren um Kommentare zu schreiben
Du kannst jede Theme Funktion
am 07.06.2010 - 10:09 Uhr
Du kannst jede Theme Funktion überschreiben und mit deiner eigenen ersetzen: http://drupal.org/node/341628
Keine Ahnung - sorry! Aber,
am 07.06.2010 - 10:11 Uhr
Keine Ahnung - sorry! Aber, wenn Du das folgende Modul noch nicht kennst, es könnte Dir eventuell helfen? -> http://drupal.org/project/menu_stp
Danke euch beiden. @Sense Das
am 07.06.2010 - 10:45 Uhr
Danke euch beiden.
@Sense Das würde sicher funktionieren, aber ich möchte ein allgemein verwendbares Modul entwickeln. Wenn man da Template-Dateien anpassen muss, scheint mir das nicht der übliche Weg, so wie ich es bisher von den Modulen gewohnt bin die ich installiert habe. :-)
@Thoor Das sieht interessant aus. Etwas was ich später auch noch brauchen werde. Bei meinem aktuellen "Problem" hilft es, glaube ich, aber nicht.
Liebe Grüsse,
zolid