[Drupal API]抓住Drupal網站中的Node Type--node_get_types()

  • 4501
  • 0
  • 2011-02-05

node_get_types()是一個相當實用的drupal api。可以用於取出drupal網站中的特定node type、所有node type、某node type所屬的模組…並提供不同種格式方便使用。

適用於Drupal5、6。

node_get_types($op = 'types', $node = NULL, $reset = FALSE)

 

使用情境

      node_get_types()是一個相當實用的drupal api。可以用於取出drupal網站中的特定node type、所有node type、某node type所屬的模組…並提供不同種格式方便使用。

      簡單講就是,node_get_types()會以一個array告訴你網站中所有的node_type;或是可以丟一個(或一些)node給node_get_types(),請node_get_types()告訴你這一個(或一些)node的node_type是甚麼。

 

輸入參數

      三個參數$op、$node、$reset

      $op吃的是字串,只吃五種值’types’、’names’、’type’、’name’、’module’。

      使用’types’、’names’時可以不給其他參數。會回傳一個包含系統中所有node_type的清單。兩者的差別在於前者是node_type物件的陣列後者則是node_type的name屬性字串陣列。

      使用‘type’、’name’、’module’時必須搭配第二個參數$node。將分別會回傳此$node的node_type、node_type的name、node_type所屬的模組。

      $node參數可以吃array、node object、string三種型態的值。若使用array或node object的型態,將使node_get_types()回傳這些node的node type。若使用是string型態,使用方法是直接給定node type的name,讓node_get_types()回傳該node type所屬的模組或可供人類解讀的node type name。

      $reset參數為bool,預設為false,當設為true的時候會先清空快取,重置系統的node_type清單。

 

回傳結果

      一個包含系統所有node type的陣列,或單一個node type的變數。當回傳值為false代表系統找不到這個node type。

 

參考資料

      http://api.drupal.org/api/drupal/modules--node--node.module/function/node_get_types/6