2012-10-24 2 views
0

$block->getBlockDateAdded()$block->getBlockDateLastModified() 모두 동일한 타임 스탬프를 반환합니다. 마지막 수정 중 하나 (모든 테스트에서)입니다.Concrete5에서 블록이 추가 된 날짜를 어떻게 확인할 수 있습니까?

이것은 Concrete5가 새로운 버전을 생성 할 때마다 $block->getBlockDateAdded()이 특정 버전이 추가 된 날짜를 반환하는 것처럼 보이기 때문일 수 있습니다. 이는 마지막 수정과 동일합니다. 그러나 그 때 사용은 무엇입니까?

더 중요 : 블록이 추가 된 "실제"날짜를 얻는 방법이 있습니까? 즉, 첫 번째 버전이 만들어 졌음을 의미합니까?

답변

1

버전 기록은 Collection (Page)과 함께 유지되므로 새로운 페이지 레코드마다 새로운 블록 레코드가 생성되므로이 방법은 가능하지 않다고 생각합니다.

데이터베이스의 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; 
} 
: 나는이를 수있는 포럼에서 해결책을 발견
관련 문제