2013-03-18 1 views
1

우리는 tt_content 요소와 연관된 도메인 모델을 가진 Extbase 확장을가집니다. 페이지 또는 콘텐츠 요소를 삭제하면 관련된 모든 도메인 모델 항목도 삭제됩니다. 이것은 좋은 일이며 우리는 그 행동을 원합니다 (그렇지 않으면 우리는 고아를 남겨 둘 것입니다).페이지 복제시 도메인 모델 복사 안 함

그러나 우리 고객은 페이지가 복제 될 때이 도메인 모델의 항목이 복제되지 않기를 바랍니다. 복사 작업 중에이 확장의 도메인 모델 항목을 복제하지 않도록 TYPO3에 알리는 방법이 있습니까?

편집 : 우리는이 프로젝트에서 TYPO3 4.5를 사용하고 있습니다.

답변

0

이 문제를 처리하는 유일한 방법은 모델 테이블을 "허용되지 않는"섹션에 추가하는 것이지만이 방법으로 도처에 백엔드 데이터 세트를 수정할 수있는 기능도 제거됩니다.

파일 : : 방법 : \ TYPO3 \ CMS \ 코어 \ DataHandling \ DataHandler에 :: copyPages이 $copyTablesArray에서 설정

$copyTablesArray = $this->admin ? $this->compileAdminTables() : explode(',', $this->BE_USER->groupData['tables_modify']); 
// If not all tables are allowed then make a list of allowed tables: That is the tables that figure in both allowed tables AND the copyTable-list 
if (!strstr($this->copyWhichTables, '*')) { 
    foreach ($copyTablesArray as $k => $table) { 
     // Pages are always going... 
     if (!$table || !\TYPO3\CMS\Core\Utility\GeneralUtility::inList(($this->copyWhichTables . ',pages'), $table)) { 
      unset($copyTablesArray[$k]); 
     } 
    } 
} 

모든 테이블이 될 것입니다 (TYPO3 6.0) 왜 여기

입니다 복사 됨. 현재 로그인 한 사용자가 관리자가 아닌 경우 $this->BE_USER->groupData['tables_modify']으로 설정됩니다.

이 메서드의 다른 구현을 추가하면이 문제를 처리 할 수 ​​있지만 그다지 쉬운 방법은 아닙니다.

+0

레일즈에서 모델이나 개체 관찰자의 after_create 후크에서 복사를 실행하고 개체가 지속되기 전에 단순히 has_many 연결을 지우면됩니다. TYPO3에 비슷한 것이 있습니까? 문제가되는 TYPO3 버전은 6.0이 아니라 4.5입니다. 나는 이미 몇 가지 차이점이 있다고 생각했다. BTW : 데이터 세트는 백엔드에서 수정되지 않지만 TYPO3은 너무 느리므로 (30 초 이상 백엔드 페이지로드 당) 이러한 데이터 세트의 편집을 처리하는 다른 프레임 워크로 프록시 처리됩니다. – hurikhan77

관련 문제