오타3:내 확장 프로그램에서 tt_content 텍스트 요소를 어떻게 렌더링합니까?

StackOverflow https://stackoverflow.com/questions/71223

  •  09-06-2019
  •  | 
  •  

문제

현재 다음 목록으로 구성된 TYPO3 확장을 작성 중입니다. tt_content UID.이는 "텍스트" 유형의 콘텐츠 요소를 가리키며 내 확장 프로그램으로 렌더링하고 싶습니다.

리치 텍스트 편집에서 입력한 텍스트가 데이터베이스에 들어갈 때 변환하고, 프런트엔드에 렌더링될 때 다시 변환하는 TYPO3의 특수한 방법 때문에 데이터베이스 내용만 출력할 수는 없습니다. bodytext 필드.

나는 일반적으로 TYPO3에 의해 렌더링되는 것처럼 이러한 텍스트를 렌더링하고 싶습니다.어떻게 해야 하나요?

도움이 되었습니까?

해결책

몇 달 전에도 같은 문제가 발생했습니다.이제 저는 typo3 개발자가 아니기 때문에 이것이 올바른 해결책인지는 모르겠습니다.

그러나 나는 다음과 같은 것을 사용했습니다.

$output .= $this->pi_RTEcssText( $contentFromDb );

내 확장 프로그램에서 작동합니다.

다른 팁

PHP

그것은 나에게 효과적입니다.주어진 ID를 가진 모든 콘텐츠 요소를 렌더링합니다.

function getCE($id)
{
    $conf['tables'] = 'tt_content';
    $conf['source'] = $id;
    $conf['dontCheckPid'] = 1;
    return $GLOBALS['TSFE']->cObj->cObjGetSingle('RECORDS', $conf);
}

보다 http://lists.typo3.org/pipermail/typo3-dev/2007-May/023467.html

이는 캐시되지 않은 플러그인에도 작동합니다.당신은 다음과 같은 문자열을 얻을 것입니다 <!--INT_SCRIPT.0f1c1787dc3f62e40f944b93a2ad6a81-->, 그러나 TYPO3은 다음 INT 렌더링 패스에서 이를 실제 콘텐츠로 대체합니다.

체액

유동 템플릿을 사용하는 경우 VHS content.render 도우미 보기 유용하다:

<v:content.render contentUids="{0: textelementid}"/>

FluidContent 요소에 그리드 자체가 있는 경우 Flux 자체로 요소를 렌더링할 수 있습니다. content.get 또는 content.render 뷰 도우미:

<f:section name="Configuration>
    ... <flux:grid.column name="teaser"/> ...
</f:section>
<f:section name="Main>
    <flux:content.render area="teaser"/>
<f:section>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top