如何确定Concrete5中添加块的日期?

时间:2012-10-24 21:56:59

标签: php concrete5

$block->getBlockDateAdded()$block->getBlockDateLastModified()都返回相同的时间戳,即最后一次修改(在我的所有测试中)。

这可能是因为在块的每次修改时,Concrete5都会创建一个新版本,因此$block->getBlockDateAdded()似乎返回添加特定版本的日期,这与上次修改的日期相同。那么有什么用呢?

更重要的是:有没有办法让块添加到“真实”日期,是否意味着创建了第一个版本?

1 个答案:

答案 0 :(得分:1)

我认为这不可能,因为版本历史记录与Collection(页面)保持一致,如您所述,为每个新页面版本创建一个新的块记录。

查看数据库中的CollectionVersionBlocks表,我没有看到任何可用于将一个块与先前版本关联的密钥 - 因此无法回溯集合版本并查看第一次存在的位置块发生(您可以根据块类型和区域进行猜测,但这不可能确定,因为用户可能已将其从一个区域移动到另一个区域,或者可能存在多个相同类型的块页)。

编辑:我在论坛中找到了可能实现此目标的解决方案:

private function find_prev_bID($bID) {
    if (empty($bID)){
        return;
    }
    $db = Loader::db();
    $prev_bID = $db->GetOne( 'SELECT originalBID FROM BlockRelations WHERE bID = ? AND relationType = ?', array($bID, 'DUPLICATE') );
    return $prev_bID;
}