hook_menu - arg
Eingetragen von rapsli (1500)
am 13.08.2007 - 08:14 Uhr in
am 13.08.2007 - 08:14 Uhr in
Ich habe folgenden Eintrag:
<?php
$items[] = array('path' => 'user/'. arg(1) .'/my_group',
'title' => t('Meine Gruppe'),
'callback' => 'ngroups_profile',
'type' => MENU_LOCAL_TASK,
'access' => user_access('access ngroups'),
'weight' => 1,
'callback arguments' => array('tags' => arg(3), 'video_buddy' => arg(4)),
);
?>
tags kommt von einer Suchfunktion und video_buddy ist ein Filter.
Url sieht dann ca. wie folgt aus: user/1/my_group/test_tag/rapsli
Da funktioniert auch alles gut. Falls jedoch keine Suche durchgeführt wird sieht die URL wie folgt aus: user/1/my_group/rapsli Und das gibt dann halt ein Problem, da die Indexe von arg nicht mehr passen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Frag doch einfach ab, ob die
am 13.08.2007 - 08:24 Uhr
Frag doch einfach ab, ob die entsprechenden Argumente gesetzt sind. Wenn sie das nicht sind setzt du einen Default-Wert oder sonstwas.
gruß pebosi
gruß pebosi
--
https://pebosi.net
Versuche ich, aber
am 13.08.2007 - 08:49 Uhr
Versuche ich, aber anscheinend erfolglos:
<?php
$items[] = array('path' => 'user/'. arg(1) .'/my_group/all',
'title' => t('Meine Gruppe'),
'callback' => 'ngroups_profile',
'type' => MENU_LOCAL_TASK,
'access' => user_access('access ngroups'),
'weight' => 1,
'callback arguments' => array('video_buddy' => arg(3), 'tags' => arg(4)),
);
?>
all wäre der Default. Nur gibt es das Problem, dass jetzt dieser Menupunkt nicht mehr erreichbar ist, wenn jetzt die url "user/1/my_group/rapsli" wäre.
Was ich noch versucht habe:
<?php
$items[] = array('path' => 'user/'. arg(1) .'/my_group/'arg(3),
'title' => t('Meine Gruppe'),
'callback' => 'ngroups_profile',
'type' => MENU_LOCAL_TASK,
'access' => user_access('access ngroups'),
'weight' => 1,
'callback arguments' => array('video_buddy' => arg(3), 'tags' => arg(4)),
);
?>
Nur wie kann ich arg(3) einen default Wert zu ordnen? arg(3)='all' geht ja nicht.
___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
all wäre der Default. Nur
am 13.08.2007 - 08:55 Uhr
all wäre der Default. Nur gibt es das Problem, dass jetzt dieser Menupunkt nicht mehr erreichbar ist, wenn jetzt die url "user/1/my_group/rapsli" wäre.
Dafür könntest du doch ein weiteren Eintrag zu den $items hinzufügen, oder vielleicht auch so:
<?php
'callback arguments' => array('video_buddy' => (empty(arg(3)) ? 'all' : arg(3)), 'tags' => arg(4)),
?>
gruß pebosi
gruß pebosi
--
https://pebosi.net
Gibt:
am 13.08.2007 - 09:02 Uhr
Gibt:
Fatal error: Can't use function return value in write context in C:\Programme\xampp\xampp\htdocs\drupal-5.1\sites\all\modules\nickiplorerm\ngroups.module on line 264
Ich werde dann einfach einen zweiten Eintrag einfügen...
... Gerade gemacht. Nur gibt mir das jetzt ja zwei Tabs in "my Account" :(
___________________________
it's easier than you think
Raphael Schär
http://www.schaerwebdesign.ch
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************