Content bearbeiten

am 04.12.2007 - 15:21 Uhr in
Hallo,
wir verwenden für unsere Internetseite auch Drupal und dort hat ein Kollegen von mir ein Modul geschrieben, welches den Inhalt der Seiten untereinander packt (z.b. steht in einem Inhalt ein Link, dann wird der Inhalt dann da drunter angezeigt sobald man den Link benutzt)
Beispiel für die URL sieht dann so aus www.website.de/de/node/1/2 (nur als Beispiel)
Da wir aber jeweils den letzten Inhalt bearbeiten wollen, der angezeigt wird hatten wir uns gedacht, dass ganze dann Drupal machen zu lassen oder von dem Kollegen geschriebenes Modul einzufügen...was auch immer...doch ist uns schnell aufgefallen, dass Drupal immer nach dem "/node/" schaut und dann die Zahl danach nimmt und den Content an das Bearbeitungsscript weiter leitet. Unsere Idee war es nun Drupal zu sagen "du nimm mal das Letzte, was in der Adresszeile steht zum editieren". Nach einer langen suche haben wir dann die stelle gefunden, wo der Button "Edit" (oder auch "Bearbeiten") angezeigt wird
Code (Datei "/modules/node/node.module" Zeile 1201):
$items[] = array('path' => 'node/'. arg(1) .'/edit',
'title' => t('Edit'),
'callback' => 'node_page_edit',
'callback arguments' => array($node),
'access' => node_access('update', $node),
'weight' => 1,
'type' => MENU_LOCAL_TASK);
hier scheint drupal den Button anzulegen. Wir haben dann versucht arg(1) auf arg(2) zu setzen, damit er halt das nächste Element nimmt um das dann zu bearbeiten...ohne Erfolg denn er zeigt den Button gar nicht mehr an.
nun meine Fragen:
1. wo wird die Funktion node_menu aufgerufen?
2. wie kann man das Umsetzen, das Drupal immer das letzte Element in der Adresse benutzt um den Inhalt zu editieren?
2.1 Wurde das schon einmal umgesetzt?
so das war es erstmal ich hoffe ihr könnt mir/uns helfen.
MfG
G1rr
- Anmelden oder Registrieren um Kommentare zu schreiben
Re: Content bearbeiten
am 04.12.2007 - 21:37 Uhr
1. wo wird die Funktion node_menu aufgerufen?
Die Funktion wird in menu_get_menu aufgerufen. Zwei mal sogar:
2. wie kann man das Umsetzen, das Drupal immer das letzte Element in der Adresse benutzt um den Inhalt zu editieren?
<?php
function example_menu($may_cache) {
$items = array();
if ($may_cache) {
}
else {
$path = 'node';
for ($i = 1; is_numeric(arg($i)); ++$i) {
$nid = arg($i);
$path .= '/' . $i;
}
$node = node_load($nid);
if ($node->nid) {
$items[] = array(
'path' => $path . '/edit',
'title' => t('Edit'),
'callback' => 'node_page_edit',
'callback arguments' => array($node),
'access' => node_access('update', $node),
'weight' => 1,
'type' => MENU_LOCAL_TASK);
}
}
return $items;
}
?>
2.1 Wurde das schon einmal umgesetzt?
Ich habe mal soetwas ähnliches umgesetzt, ist aber noch zu speziell um veröffentlicht zu werden.
--
