2017-10-22 7 views
0

저는 프로젝트에 대한 특별 요구 사항이 있으며 도움이 필요합니다. TYPO3 8.7.8을 사용하고 있습니다. 프론트 엔드에 태그 레이블을 렌더링하는 사용자 지정 확장 프로그램이 있습니다. 백엔드 스토리지 폴더에 태그를 TCA 레코드로 추가 할 수 있습니다. TCA 레코드에서 이름에 태그를 지정할 수 있습니다. 내 요구 사항은 TCA 레코드를 저장할 때 특정 위치에 태그와 동일한 이름으로 TYPO3 페이지를 자동으로 만들고 싶습니다. TCA 레코드를 추가 할 때마다 자동으로 해당 페이지를 만들어야합니다. 이것이 가능한가? TCA를 저장하는 동안 후크를 사용할 수 있습니다. 하지만 자동으로 페이지를 만들 수있는 기능이 있습니까?TCA 레코드를 기반으로 TYPO3 자동 페이지 생성

페이지가 자동으로 생성 된 후 해당 페이지에 특정 flexform 값이있는 플러그인 컨텐츠 요소를 자동 삽입하려고합니다. 나는 이것이 이상한 요구 사항이라는 것을 알고 있지만 가능한지 아닌지 알고 싶다.

답변

2

정확하게 저장하면 후크가 실행되고 데이터 처리기를 사용하여 새 페이지 (및 가능한 내용)를 생성 할 수 있습니다. https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Typo3CoreEngine/Database/Index.html#data-array 에서

$tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler'); 
$tce->stripslashes_values = 0; 
$tce->start($data, []); 
$tce->process_datamap(); 

이 문서에서 자세한 내용을 알아보십시오 :

$data = [ 
    'pages' => [ 
     'NEW_1' => [ 
      'pid' => 456, 
      'title' => 'Title for page 1', 
     ], 
    ], 
    'tt_content' => [ 
     'NEW_123' => [ 
      'pid' => 'NEW_1', 
      'header' => 'My content element', 
     ], 
    ], 
]; 

그런 다음 구조로의 DataHandler를 호출 페이지 및 콘텐츠를 만들려면 다음과 같은 데이터 구조 같은 것을 사용 및 https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Typo3CoreEngine/UsingDataHandler/Index.html

+0

힌트를 보내 주셔서 감사합니다. 내가 이것을 시도하자. –

0

확실 하시겠습니까? 추가 페이지가 필요합니까?

일반적으로 플러그인이 삽입되는 한 페이지가 필요하고 URL 매개 변수 (realurl로 경로 세그먼트로 변환 될 수 있음)의 종속성이있는 플러그인이 선택한 레코드에 따른 정보 만 표시하는 것처럼 들릴 수 있습니다 (꼬리표).

태그를 선택하지 않으면 사용 가능한 모든 태그가있는 목록을 메뉴로 출력하여 가능한 모든 태그를 탐색 할 수 있습니다.

약간의 노력으로 (의도 한 바늘을 쓰는 것보다 작음) 모든 태그를 메뉴에 추가 할 수 있습니다.

+0

위의 데이터 핸들러는 페이지와 컨텐츠 요소를 자동으로 생성하는 데 도움이되었습니다. 그러나 나는 flexform 값을 자동으로 업데이트하는 문제에 직면하고있다. –