$block->getBlockDateAdded()
和$block->getBlockDateLastModified()
都返回相同的时间戳,即最后一次修改(在我的所有测试中)。
这可能是因为在块的每次修改时,Concrete5都会创建一个新版本,因此$block->getBlockDateAdded()
似乎返回添加特定版本的日期,这与上次修改的日期相同。那么有什么用呢?
更重要的是:有没有办法让块添加到“真实”日期,是否意味着创建了第一个版本?
答案 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;
}