我正在为 Drupal 7 开发一个模块,我遇到了一个关于评论的奇怪问题。关于注释的创建和修改日期。
如果我尝试使用权限编辑评论"Administer comments and comment settings"
则"comment"
数据库中的创建日期保持不变,而更改的日期被修改..所以一切都是正确的。
但是,如果您是没有权限"Administer comments and comment settings"
的注册用户并尝试编辑评论,则两个日期(创建和更改)都将更改
....即使在评论的标题中,日期也会更新
"Submitted by user on Wed, 19/02/2014 - 21:44"
修改当前日期。怎么可能?这是一个评论模块问题?
如果编辑评论,我需要创建日期保持不变。这没有管理权限。
PS:我正在研究hook_preprocess_comment
.
不久前我遇到了这个问题。
我和一位同事拼凑了一个自定义模块来解决这个问题。以下是当前在我们的 D7 (7.26) 站点上运行的代码:
/**
* @file
* Fixes a bug where Drupal doesn't retain the creation date of comments.
*/
/**
* Implements hook_comment_presave().
*/
function comment_fix_comment_presave($comment) {
$data = db_query('SELECT created FROM {comment} WHERE cid = :cid',
array(':cid' => $comment->cid))->fetchAll();
if (!empty($data)) {
$comment->created = $data[0]->created;
}
}