hali
ha jól tudom, akkor a drupal 6-osban jött be, hogy a menü struktúra adott elemei öröklődnek.
tehát az $item['gyumi'] tulajdonságai öröklődnek az $item['gyumi/alma']-ba.
valamint, a default 'access callback' argomentum a user_access().
használom a mymodule_perm() függvényt, return array('mymodule access');
a kérdésem, hogy az alábbi kód szerint
$items['gyumi'] = array('title' => 'gyumolcs', 'title callback' => 't', 'access callback' => 'user_access', 'access arguments' => array('mymodule game'), 'menu_name' => 'gyumik', 'page callback' => 'gyumi_start', ); $items['gyumi/alma'] = array('title' => 'alma', 'page callback' => 'gyumi_alma', );
kellene lennie két menüpontomnak, az egyik a /gyumi és alatta pedig a /gyumi/alma menüpontok.
csakhogy ha nem teszem bele az 'access arguments' -et,
$items['gyumi/alma'] = array('title' => 'alma', 'access arguments' => array('mymodule access'), 'page callback' => 'gyumi_alma', );
akkor permission denied-ot dob.
a kérdésem, hogy mikor örökli az "access arguments" paramétert, és mikor nem? egyáltalán öröklődik ez?
köszönöm előre is a válaszokat.
Drupal verzió:
Fórum:
nem öröklődik
legalábbis én nem vettem észre, de majd valaki kijavít, ha rosszul tudom.
annyi van, hogy az alapértelmezett access callback maga a user_access, tehát azt nem kell megadnod, viszont az access arguments -et igen.
-
clear: both;
szoval oroklodik majdnem
szoval oroklodik majdnem minden csak az access arguments nem. hat ez nyalank...
a példamodul is megad access arguments elemet mindig
íme:
http://api.drupal.org/api/function/page_example_menu/6
az access callbacket kihagyja. lásd feljebb.
-
clear: both;