Drupalの6:コンテンツタイプに挿入するクエリを作成する方法

StackOverflow https://stackoverflow.com/questions/2140496

  •  22-09-2019
  •  | 
  •  

質問

私は歴史という名前のコンテンツタイプを作成しました 特定のページを開いたときに、これまで、ユーザーがしたいコンテンツの履歴は新しい行を挿入する必要があります。

私はルールを使用しますが、クエリでstuckedています。

私はそれが表示されないビューのデータをフェッチする際に

私はそれも作品のデータを挿入するための単純なクエリが、問題が書かれています。

役に立ちましたか?

解決

ログのコンテンツタイプを作成するための良い方法ではないのですか。ただ、列を持つ単純なテーブルを作成します。 NID(ノードID)、訪問(訪問の日時)、UID(ユーザID、ゲストのため= 0)

お使いのモジュールでは、

は、これを追加します:


/**
 * Implementation of hook_exit().
 */
function YOURMODULENAME_exit() {
  drupal_bootstrap(DRUPAL_BOOTSTRAP_PATH);

  if ((arg(0) == 'node') && is_numeric(arg(1)) && (!arg(2))) {
    global $user;
    $node = node_load(arg(1));
    if (in_array($node->type, array('some_content_types'))) {
      db_query('INSERT INTO {somelogtable} VALUES(%d, %d, %d)', $node->nid, time(), $user->uid);
    }
  }
}

そして、どこかにあなたがこのノードのリスト表示することができます。
もっとたとえば。上記のサイードような外観の統計情報は、モジュール。

他のヒント

ができません統計モジュールを助けますか? 「それは何回を数え、どこからあなたのポストのそれぞれが表示される」ます。

うーん、あなたの視聴履歴のコンテンツタイプを使用するように少し奇妙に思えるが、私はそれで行きますよ。歴史は右、特定のページが表示されるたびに作成された新しいノードを持つようにしたいあなたはとても?あなたはこのためにカスタムモジュールを使用する必要があるとしています。

あなたは道具 hook_init()が何かをするにそのモジュールを書くことができ同様ます:

<?php
    MODULENAME_init() {
        if (drupal_get_path_alias($_GET['q']) == 'the_path_alias_of_your_page') {
            // create your node here, see http://api.drupal.org/api/function/node_submit/6 for example
            // then save it using node_save($node)
        }
    }

もちろん、それは本当にラフだが、それはあなたが始めるでしょう。

は、あなたはあなたが同じようにGoogleアナリティクスまたは使用することはできません?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top