web-dev-qa-db-ja.com

カスタムモジュールをノードと1つのコンテンツタイプのみに影響させるにはどうすればよいですか?

次のコードは、$fenに含まれる番号に従って、5つの画像を出力するために使用されます。特定のコンテンツタイプ(「会社」など)のノードにボタンを配置したい。
これを取得するには、モジュールでどのコードを使用する必要がありますか?

<form action="" method="get">
<input type="submit" name="fen" />
</form>
<?php
  $star = getStar($_GET['fen']);        
  echo "<img src=\"xing_$xin.jpg\" />";

  function getStar($fen) {
    if ($fen < 10) {
        return 1;
    }
    elseif ($fen < 100) {
      return 2;
    }
    elseif ($fen < 1000) {
      return 3;
    }
    elseif ($fen < 10000) {
      return 4;
    }
    else {
      return 5;
    }
  }
?>
1
enjoylife

ノードにコンテンツを追加する場合は、drupal 6でhook_nodeapiを使用できます。ここで、opviewです。

ノードオブジェクトを取得すると、ノードタイプの電気ショック療法を検出できます。このようなものをモジュールに追加する必要があります

module_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  switch($op) {
    case 'view':
      if ($node->type == 'node_type') {
        // $a3 indicates if teaser
        // $a4 indicates if page
        $node->content['my_additional_field'] = array(
          '#value' => 'HTML', // create html with theme or form function. 
          '#weight' => 10,
        );
      }
      break;
  }
}
2
googletorp