関数名のこれらの違いは何ですか?template.phpでそれぞれを上書きできるので?
MYMODULE_代わりに、template_またはtheme_カスタムモジュール内で、作成したモジュールを使用できることです。したがって、基本的にはこれらのいずれかをhook_モジュールのように扱うことができます。これは私が自分をしっかりと握っているものではありません。@kiamlalunoの応答をもう一度読む必要があると思います。興味深い質問です。
関数名のこれらの違いは何ですか?template.phpでそれぞれを上書きできるので?
MYMODULE_代わりに、template_またはtheme_カスタムモジュール内で、作成したモジュールを使用できることです。したがって、基本的にはこれらのいずれかをhook_モジュールのように扱うことができます。これは私が自分をしっかりと握っているものではありません。@kiamlalunoの応答をもう一度読む必要があると思います。興味深い質問です。
回答:
theme_で始まる名前の関数はテーマフックですが、template_で始まる名前の関数は、相対テーマフックを実装するモジュールによって実装される前処理および処理関数です。
たとえば、theme_image()は、イメージをレンダリングするテーマフックです。 template_preprocess_nodeは()モジュールが実装ノードモジュールによって実装前処理機能であるノードテーマフック。(node_theme()の最初のコード行、Nodeモジュールによって実行されるhook_theme()実装を参照してください。)ノードテーマフックの前処理関数を実装できる他のモジュールがありますが、これらのモジュールの場合、その前処理関数はMYMODULE_preprocess_node()、ないtemplate_preprocess_node()。
テーマは、テーマフック(bartik_menu_tree()を参照)とプリプロセス関数(bartik_preprocess_node()を参照)の両方を実装できます。違いは、現在のテーマがBartikテーマであるbartik_menu_tree()場合、デフォルトの実装(theme_menu_tree())をbartik_preprocess_node()オーバーライドしますがtemplate_preprocess_node()、はオーバーライドしませんが、その後に実行されます。(theme()のドキュメントを参照してください。)
2つの接頭辞を使用する場合、その目的は関数の目的を文書化することです。theme_は例の両方で使用された場合であっても、違いtheme_image()とはtheme_preprocess_node()まだ明らかになり、それはあなたがtheme_を以下のものを読むために必要であろう。現在の実装では、関数名の最初の単語を読み取るだけです。
template_process_/template_preprocess_です。それが違いです-1つはテーマ関数、もう1つはテーマのプロセス/前処理関数です