$block->getBlockDateAdded()
并且$block->getBlockDateLastModified()
两者都返回相同的时间戳,即最后一次修改的时间戳(在我所有的测试中)。
这可能是因为对块 Concrete5 的每次修改都会创建一个新版本,因此$block->getBlockDateAdded()
似乎返回添加特定版本的日期,这与上次修改相同。但是那有什么用呢?
更重要的是:有没有办法获得添加块的“真实”日期,意味着创建第一个版本?
我认为这是不可能的,因为版本历史记录与集合(页面)一起保存,并且正如您所提到的,为每个新页面版本创建一个新的块记录。
查看数据库中的 CollectionVersionBlocks 表,我看不到任何可用于将一个块与先前版本相关联的键——因此无法通过 Collection Versions 回溯并查看块的第一次存在发生的位置(您可以根据块类型和区域进行猜测,但这不能确定,因为用户可能将其从一个区域移动到另一个区域,或者页面上可能有多个相同类型的块)。
编辑:我在论坛中找到了可能实现此目的的解决方案:
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;
}