Comment peut-on les variables injectent dans des modèles de page d'un module Drupal personnalisé?

StackOverflow https://stackoverflow.com/questions/2776820

Question

Nous avons créé un module personnalisé pour l'organisation et la publication de notre contenu du bulletin.

La question que je suis en cours d'exécution en maintenant - et je suis nouveau et le développement thématisation du module Drupal, il pourrait juste être une question de connaissance, par opposition à un problème Drupal - comment obtenir chaque bulletin d'information à thème <. / p>

À ce stade, la structure de l'URL de notre bulletin d'information sera:

/ bulletins / {bulletin-name} / {édition-name} / {numéro} jour qui signifie que nous pouvons créer des fichiers de modèle dans notre thème en utilisant des noms comme la page-newsletters- {bulletin-name} - {édition- name} .tpl.php, ce qui est génial. La question que je suis en cours d'exécution en est que tout le contenu transparaît dans la variable $ contenu du thème. Je voudrais avoir venir à travers comme différentes variables (afin que je puisse, à l'intérieur du thème, le lieu de certains contenus dans certaines zones.)

Y at-il une bonne façon de le faire?

Modifier Pour répondre à quelques questions. La question est un nœud (il y a émission, édition et noeuds bulletin) et le chemin est en cours de jeu à l'aide hook_menu avec des jokers et un routeur

Était-ce utile?

La solution

La meilleure réponse que je pouvais trouver était d'ajouter un chèque à l'intérieur de phptemplate_preprocess_page pour envoyer le vars au module et les ont mises à jour.

comme ceci:

function phptemplate_preprocess_page(&$vars) {
    if (module_exists('test_module')) {
        _test_module_injector($vars);
    }
}

puis dans mon fichier test_module.module j'ai créé cette fonction:

function _test_module_injector(&$vars) {
    $vars[] = call_to_other_functions_to_load_vars();
}

Il a semblé fonctionner. Je souhaite qu'il y ait un moyen de le faire sans avoir à toucher le fichier template.php du thème, mais sinon cela fonctionne bien.

Autres conseils

S'il y avait une meilleure documentation pour les fonctions de prétraiter modèle, Drupal serait beaucoup plus accessible - comme il est, vous avez besoin de rassembler les informations d'un grand nombre de différentes explications. Un point de départ est ici:

http://drupal.org/node/223430

mais si vous prenez le temps de travail à travers le tutoriel ci-dessous, vous trouverez que vous pouvez faire les choses:

http://11heavens.com/theming-the-contact -forme en Drupal-6

Ceci est un ancien poste, et semble avoir été résolu les problèmes de l'OP.

Cependant, juste pour les autres de trouver ce par Google (ou autre):

  1. Installez le module 'Devel': http://drupal.org/project/devel
  2. De plus, le module 'Devel Themer': http://drupal.org/project/devel_themer

Utilisez Devel Themer pour passer par la variable $ content et de trouver ce que vous devez retirer.

Il y a un tas de Devel / Themer docs / Tuts là-bas, mais son utilisation est assez simple. Notez, cependant, que certaines choses là-bas devra être assaini avant d'imprimer dans le thème.

La suggestion de montrer le nœud en vue, puis modifier assez fou la vue des modèles sons, bien que ça va marcher.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top