我创建了一个名为history的内容类型 当用户想要打开特定页面时,应该用新行插入内容历史记录。
我正在使用规则,但坚持使用查询。
我编写了一个简单的查询来插入它甚至可以工作的数据,但是当我在视图中获取数据时它没有显示出来的问题。
答案 0 :(得分:0)
the Statistics module无法帮助你吗? “它计算了多少次,以及每个帖子的查看位置。”
答案 1 :(得分:0)
嗯,在您的观看历史中使用内容类型似乎有点奇怪,但我会继续使用它。因此,您希望历史记录在查看某个页面时创建新节点,对吗?您将不得不使用自定义模块。
您可以编写一个实现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等吗?
答案 2 :(得分:0)
不是为日志创建内容类型的好方法。只需创建包含列的简单表:
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);
}
}
}
在某处您可以显示此节点的列表
更多例子。看看统计模块如上所述。