Question

il est possible de traiter tous les caractères de remplacement dans _menu () par module.

Je sais que sur les caractères génériques spécifiques comme

display/page/% mais cela ne fonctionnera pas pour les chemins display/page/3/andOrderBy/Name

Si ce que je veux gérer des paramètres ammount unpredicted comme

display/page/3/12/45_2/candy/yellow/bmw/turbo

Je veux avoir un chemin display/* _menu () pour gérer tous ARGUMENTS.

comment puis-je faire?

Était-ce utile?

La solution

Drupal passera tous les éléments d'URL supplémentaires en tant que paramètres supplémentaires à votre fonction de rappel hook_menu - utiliser noreferrer func_get_args () dans votre rappel pour les obtenir.

Si vous enregistrez un seul display/page/% générique, mais la demande réelle comporte deux éléments supplémentaires display/page/3/andOrderBy/Name, votre rappel sera transmis « 3 » en tant que paramètre explicite, mais aussi « andOrderBy » et « Nom » comme les autres implicites.

Exemple callback:

function yourModuleName_display_callback($page_number) {
  // Grab additional arguments
  $additional_args = func_get_args();
  // Remove first one, as we already got it explicitely as $page_number
  array_shift($additional_args);
  // Check for additional args
  if (!empty($additional_args)) {
    // Do something with the other arguments ...
  }
  // other stuff ...
}

Autres conseils

ah;) vous aviez raison

voici comment je l'ai résolu.

function mysearch_menu() {
$items['mysearch/%'] = array(
'page callback' => 'FN_search',
'access callback' => TRUE,
);
return $items;
}


function FN_search()
{
    return print_r(func_get_args(),true);
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top