2017-11-21 1 views
0

コンポーネントが表示されるノードのコンテンツタイプを取得する必要があるコンポーネントがあります。Drupal 7:コンポーネントのプレコケーション機能内からノードのコンテンツタイプを取得するにはどうすればよいですか?

my_component_preprocess_my_component_theme(&$variables, $node) { 
    dpm(node_type_get_name($node)); 
} 

私は何を取得:私はコンポーネント内でこの機能プリプロセスフック、例えばを使用する場合、しかし

node_type_get_name($node) 

:私は私のためにそれを取得する機能が存在しました。

私がdpm($node);の場合、ノードではなくコンポーネントのタイトルが表示されます。

ノードのコンテンツタイプを取得する方法を知っている人はいますか?

+0

どのようなコンポーネントですか?あなたのテーマ/モジュール名はmy_componentですか? –

+0

menu_get_item()も機能します – Fky

答えて

3

あなたは、このように現在のノードを読み込むことができます。

<?php 
$node = menu_get_object(); 
if (!empty($node)) { 
    print "Have node"; 
} 
?> 

だから、あなたは完全なノードがロードされているでしょうし、それがタイプ($node->type)、あなたが必要とする何かだ確認することができます。

https://www.drupal.org/forum/support/post-installation/2010-07-28/how-to-get-node-object-or-nid-for-the-current-page

そして、あなたはそれが意味ノードを持っていない場合は、当然のことながら、現在のページには、ノード(多分ビューまたはいくつかのカスタムページ...)ではありません。

関連する問題