2016-08-26 3 views
0

일부 뉴스가 다른 언어로 사용됩니다. 보관하려면이 뉴스의 언어를 모두 (ID : -1)로 설정해야합니다. 그렇게하면 뉴스가 작동하지만 이미지가 작동하지 않습니다. 이미지가 sys_file_reference이고 언어가 변경되지 않기 때문입니다. 또한 이미지의 언어를 백엔드에서 전혀 변경할 수있는 필드가 없기 때문에 데이터베이스에서이 작업을 수행해야합니다. tx_news : 뉴스 언어를 모두로 변경하면 sys_file_reference가 변경되지 않습니다.

나는이 문제에 대한 버그 리포트를 발견
https://forge.typo3.org/issues/48883

을 그리고 적어도이 가능하다고 백엔드에 langauge을 변경할 수 있도록 나는 버그 보고서에서 "수정"을 사용 :

$TCA['sys_file_reference']['palettes']['filePalette']['isHiddenPalette'] = 0; 

(이것은 템플릿의 ext_tables.php로 들어갑니다).

어쨌든, 이것은 좋은 해결책이 아니며 편집자는 이미지의 언어를 변경하는 것을 잊어 버리는 경우가 많습니다.

누구나이 문제에 대한 해결책을 찾고 있습니까?

답변

0

DataHandler (데이터베이스에 백엔드 양식을 저장하는 구성 요소)에 연결하는 사용자 정의 함수를 사용할 수 있습니다.

여기 까다로운 부분은 원본 레코드 유형 (tx_news 항목)을 기반으로 관련 레코드 (sys_file_reference)를 수정해야한다는 것입니다. DataHandler는 레코드가 HTML 양식에 의해 전송 될 때 순차적으로 레코드를 처리합니다. 트릭은 기본 (뉴스가 귀하의 경우) 레코드가 항상 먼저 나오기 때문에 해당 정보를 사용하여 사용자 정의 로직이 언제 시작해야하는지 알 수 있습니다.

사용자 정의 후크에서 사용자는 언어를 사용할 수 있습니다 기본 레코드에서 하위 레코드의 언어를 설정합니다. 하나의 가능한 훅은 processDatamap_postProcessFieldArray입니다. 이러한 후크를 등록하는 것은 TYPO3 핵심 문서에 설명되어 있습니다. https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Hooks/Configuration/Index.html

+0

정보를 제공해 주셔서 감사합니다. 아직 후크를 사용하지 않았으므로 먼저 테스트를 받아야합니다. 나는 그것을 테스트 할 시간이 생길 때까지 질문을 공개적으로 남겨 둘 것입니다. 제 질문에 대한 다른 질문을 할 수 있습니까? 후크를 사용한다면 어떤 문제라도 해결할 수 있을까요? http://stackoverflow.com/questions/37393398/backend-user-translate-content-from-default-language-was-not-allowed – nbar