Mehrere Werte übergeben
Eingetragen von RomanDrechsel (15)
am 13.02.2009 - 15:54 Uhr in
am 13.02.2009 - 15:54 Uhr in
Hi,
ich habe im Menü einen Punkt
<?php
function members_menu() {
[...]
$items["members/%section/%"] = array(
"page callback" => "members_details",
"page arguments" => array(1,2),
"access callback" => "_gbocmembers_access",
"type" => MENU_CALLBACK
);
[...]
}
?>
Damit will ein an eine Funktion 2 Parameter übergeben. Wie kann ich das machen?
Ich habe eine load-Funktion geschrieben, aber da wird nur der erste Parameter übergeben.
<?php
function section_load($arg) {
return $arg;
}
function section_to_arg() {}
?>
Wie kann ich jetzt den zweiten Parameter übergeben? z.B. "members/xyz/55" -> section=xyz und id=55
Folgende Seite hab ich gefunden, leider versteh ich es nicht richtig:
http://www.drupalcenter.de/handbuch/15719
- Anmelden oder Registrieren um Kommentare zu schreiben
Zum Beispiel so (für Drupal
am 13.02.2009 - 16:50 Uhr
Zum Beispiel so (für Drupal 6.x):
// callback for continuation page of picture list with dedicated loader for 2 arguments
$items['photo_album_plist_more/%more_plist/view/%'] = array(
'title' => '',
'page callback' => 'photo_album_plist_more_view',
'access arguments' => array('view photo_album'),
'page arguments' => array(1),
'load arguments' => array(3),
'type' => MENU_CALLBACK,
);
Das ist erst einmal der Eintrag in der mymodule_menu Funktion.
Hier wird der loader more_plist in der Zeile mit $items [...] angegeben. Der sieht bei mir dann wie folgt aus:
/*
* Special loader function for taking 2 arguments (node, page)
* if a continuation page is required
*/
function more_plist_load($nid, $page) {
$node = node_load($nid);
// the second argument is checked and then included in node
if(is_numeric($page)) $node->startpage = $page;
return $node;
}
Gruß
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Funktioniert bei mir nicht
am 13.02.2009 - 17:14 Uhr
Funktioniert bei mir nicht so richtig, bzw. ich versteh es nicht.
<?php
$items["members/%section/%"] = array(
"page callback" => "members_details",
"page arguments" => array(1),
"load arguments" => array(2),
"access callback" => "_members_access",
"type" => MENU_CALLBACK
);
function section_load($arg,$id) {
$node = node_load($arg);
$node->id = $id;
return $node;
}
function section_to_arg() {}
?>
Da kommt die Fehlermeldung
warning: Missing argument 2 for section_load()[...]
Gruß