2010-05-05 4 views
1

J'ai une vue simple qui alimente une page d'accueil. J'ai un module personnalisé qui enregistre des URL spécifiques dans hook_menu que je passe dans mon module afin que je puisse les passer en arguments dans la vue.Comment afficher une vue comme s'il s'agissait de la première page via un module?

Je peux obtenir que le module affiche bien la vue, mais il n'utilise pas la vue teaser/is_front qui s'affiche lorsque j'accède à la page d'accueil. J'ai regardé à travers les API mais Je n'arrive pas à comprendre comment je peux sortir la vue via mon module comme s'il s'agissait de la première page, ce qui signifie $ is_front est vrai et les teasers apparaîtraient.

La raison pour laquelle je ne passe pas dans les arguments via la barre d'URL dans la vue elle-même:

  • Ma liste d'arguments est connu et fini
  • L'ordre d'argument est mélangé, ce qui signifie je vais parfois have/argument1,/argument1/argument2 ou simplement/argument2. Je veux seulement capturer l'URL de premier niveau comme argument pour des chaînes spécifiques et connues (par exemple je ne veux pas passer/admin dans ma vue mais je veux passer dedans/los-angeles, dans lequel je m'inscris le système de menu via hook_menu dans mon module)

Voici quelques exemples pour rendre plus claire:

  • /admin - charge la page d'administration
  • /utilisateur - charge la page de connexion
  • /boston - passe dans le premier argument de la vue; affiche en mode avant/accroche
  • /- affiche la vue sans argument
  • /pain - passe dans l'argument 2 de la vue; montre en mode avant/teaser
  • /boston/bread - Passe aux arguments 1 et 2 de la vue; montre en mode avant/teaser

Peut-être que je vais à ce sujet dans le mauvais sens? Ou peut-être existe-t-il un moyen d'avoir un module chargé une vue et d'une manière ou d'une autre de définir le mode avant/teaser?

Détails: Drupal 6, PHP 5, MySQL 5, Vues, ​​CCK

Répondre

0

Ceci est juste une conjecture sauvage, mais avec le module de panneaux vous pouvez travailler avec des vues et passer des arguments facilement. Les panneaux peuvent aussi remplacer les chemins.

Questions connexes