2010-04-06 21 views
3

J'ai lu sur les fonctions Drupal thématisation et prétraiter et remarqué qu'ils figurent nom_moteur _engine_preprocess & nom_moteur _engine_preprocess_hook dans l'ordre des fonctions prétraiter mais je ne suis pas tout à fait sûr de ce que la couche du moteur est? Je comprends le noyau, inclut, modules et thèmes.À quoi fait référence le «moteur» dans Drupal Theming?

Un grand merci

Répondre

1

Le moteur est le moteur de gabarit utilisé. Par défaut, Drupal utilise le moteur PHPTemplate mais vous pouvez utiliser d'autres moteurs de gabarit et ainsi créer différents hooks de pré-traitement en fonction du type de moteur.

Le moteur de modèle est ce qui est utilisé pour exécuter le code dans les modèles. Il existe différents types de moteurs de gabarits qui vous permettent de faire des choses différentes avec une syntaxe différente dans vos modèles, différentes façons d'obtenir vos variables dans le gabarit, etc. Le PHPTemplate utilise des fichiers se terminant par .tpl.php. Donc, tous ceux travail parce qu'il ya un code que peut les interpréter

Lire pour plus d'informations sur PHPTemplate (une histoire ancienne)

+0

Désolé de son épaisseur, mais je ne sais toujours pas ce qu'est un moteur de template est? Est-ce le thème par défaut? Chaque fois que je fais une recherche sur le moteur de gabarit, cela me ramène toujours aux thèmes. – screenm0nkey

+0

Merci googletorp. Je viens de recevoir une copie du développement de Pro Drupal, donc j'espère que cela aidera ma compréhension drupal. – screenm0nkey

+0

Je sais que c'est une réponse vraiment ancienne, mais juste pour l'exhaustivité, Drupal 8 utilise Twig au lieu de PHPTemplate: https://www.drupal.org/theme-guide/8/twig – dain

4

J'essaie de le rendre très simple.

Les moteurs de modèles dans Drupal sont des composants logiciels qui combinent des données de Drupal avec des modèles de thèmes et affichent le résultat - qui est le code HTML final - à l'utilisateur.

 
    +-----------+  +----------------+ 
    | Data from |  | Templates from | 
    | Drupal |  |  theme  | 
    +-----------+  +----------------+ 
      |      | 
      v  +--------+  v 
      +------| Theme |-------+ 
       | Engine | 
       +--------+ 
        | 
        v 
       +-------------+ 
       | Final HTML | 
       +-------------+    

Pourquoi Drupal utilise-t-il des moteurs de thème? Parce que différents développeurs ont des goûts de codage différents et Drupal ne veut pas traiter directement différents modèles de "styles de codage".

Si vous apprenez la conception de thèmes Drupal, vous n'avez pas besoin de connaître la conception du moteur de thème. Aujourd'hui, presque tous les thèmes de Drupal utilisent un seul moteur: PHPTemplate qui, à mon avis, est génial. Vous n'avez besoin de connaître l'API du moteur de thème que si vous souhaitez concevoir des thèmes avancés. Pour une utilisation basique, même la connaissance de l'API n'est pas indispensable.

Pour un simple démarrage, essayez la révision et peaufinage d'un simple thème Drupal -comme Bluemarine

+0

Salut loin, merci beaucoup pour la réponse. – screenm0nkey