ユーザーが特定のページを開きたいときはいつでも、履歴という名前のコンテンツ タイプを作成し、コンテンツ履歴を新しい行に挿入する必要があります。
私はルールを使用していますが、クエリで立ち往生しています。
データを挿入するための簡単なクエリを作成しましたが、それは機能しますが、表示されているデータをフェッチするときの問題は表示されません。
ユーザーが特定のページを開きたいときはいつでも、履歴という名前のコンテンツ タイプを作成し、コンテンツ履歴を新しい行に挿入する必要があります。
私はルールを使用していますが、クエリで立ち往生しています。
データを挿入するための簡単なクエリを作成しましたが、それは機能しますが、表示されているデータをフェッチするときの問題は表示されません。
ログのコンテンツタイプを作成する良い方法ではありません。次の列を持つ単純なテーブルを作成するだけです:nid(ノードID)、visited(訪問日時)、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 Analytics などをそのまま使用することはできませんか?
統計モジュールが役に立ちませんか? 「各投稿が閲覧された回数と場所をカウントします」。