2016-06-10 3 views
1

XML-API에서 이벤트를 가져 오는 TYPO3 Extbase-Extension을 개발 중입니다. 확장 프로그램은 1 개의 컨트롤러와 2 개의 작업으로 구성됩니다.플러그인 용 특정 extbase 작업 호출

그래서 내 ext_localconf.php은 다음과 같이 다소 같습니다 조치의

Tx_Extbase_Utility_Extension::configurePlugin($_EXTKEY, 'pi1', array(
    'Api' => 'latest,full' 
), 
array(
    'Api' => 'latest,full' 
)); 

내용은 거의 동일의 latest - 액션이 API 만 3 이벤트를 가져온다는 full - 액션은 모든 이벤트를 가져옵니다 API. 또한 이벤트를 약간 다르게 렌더링합니다. 즉, 서로 다른 템플릿을 사용합니다.

Page A의 TYPO3-Backend에 plugin 유형의 새 콘텐츠가 추가됩니다. 내 플러그인을 선택하여 콘텐츠를 저장합니다. 프론트 엔드에서 latest에 의해 생성 된 결과 - 플러그인의 동작이 출력됩니다.

그러나 Page B에서 동일한 플러그인을 사용하고 싶지만 full -Action의 결과를 출력하고 싶습니다.

다소 혼란 스럽습니다. 백엔드 등에서 드롭 다운의 동작을 선택하려면 어떻게해야합니까?

TYPO3에 관한 문서는 실제로 나쁘고 많은 정보가 부족하므로 도움을 청하고 있습니다.

내가 발견 한 모든 사례는 한 가지 조치 만 처리합니다.

답변

1

플러그인에 대해 flexform을 만들어야하거나, 플러그인에 flexform이있는 경우 이제 다음을 추가하기 만하면됩니다.

플러그인 내에서 액션과 컨트롤러를 선택하려면 flexform에서 switchableControllerActions을 사용해야합니다.

<switchableControllerActions> 
    <TCEforms> 
     <label>View</label> 
     <onChange>reload</onChange> 
     <config> 
      <type>select</type> 
      <items type="array"> 
       <numIndex index="1" type="array"> 
       <numIndex index="0">Latest events</numIndex> 
       <numIndex index="1">Api->latest;</numIndex> 
       </numIndex> 
       <numIndex index="1" type="array"> 
       <numIndex index="0">All events</numIndex> 
       <numIndex index="1">Api->full;</numIndex> 
       </numIndex>    
      </items> 
     </config> 
    </TCEforms> 
</switchableControllerActions> 

확장을위한 flexform이없는 경우 Configuration/Flexform 폴더에서 만듭니다. 이 링크를 확인하십시오. https://wiki.typo3.org/Extension_Development,_using_Flexforms

+0

고맙습니다. 아직 Flexform이 없습니다. 나는 너의 연결을 조사하고 약간 의견을주기 위하여 돌아올 것이다. –

+0

그것의 간단한, 그냥 게시물에 추가 한 링크를 따르십시오. 질문이 있으시면 저에게 물어보십시오 :) –

+0

먼저 코드 예제를 정말로 읽지 않았습니다. 그냥 "flexform"이라는 용어가 나타 났고 연구를 시작했습니다. 선택 필드를 만든 다음 선택한 값을 작업으로 호출하도록 관리하지 않았습니다. 그런 다음이 페이지를 다시 보았고'swticthableControllerActions' 요소를 사용했습니다. 그 트릭을 :) –