【问题标题】:How can I determine the date a block was added in Concrete5?如何确定在 Concrete5 中添加块的日期?
【发布时间】:2014-09-24 16:42:54
【问题描述】:

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

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

更重要的是:有没有办法获得添加块的“真实”日期,即创建第一个版本?

【问题讨论】:

    标签: php concrete5


    【解决方案1】:

    我认为这是不可能的,因为版本历史记录与集合(页面)一起保存,并且正如您所提到的,每个新页面版本都会创建一个新的块记录。

    查看数据库中的 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多