이 TYPO3 확장을 사용하면 프런트엔드 개발자가 순수 Fluid에서 캡슐화된 구성 요소를 만들 수 있습니다. 통합을 위한 명확한 인터페이스(API)를 정의함으로써 프런트엔드 개발자는 백엔드 개발자와 독립적으로 구성요소를 구현할 수 있습니다. 목표는 부작용이 없고 데이터 수집에 대한 책임이 없는 재사용 가능성이 높은 프레젠테이션 구성 요소를 만드는 것입니다.
TL, DR? 지금 바로 시작하세요
유체 템플릿은 일반적으로 다음 세 가지 구성 요소로 구성됩니다.
또한 ViewHelpers는 기본 제어 구조를 제공하고 다른 방법으로는 불가능했던 고급 렌더링 및 데이터 조작을 캡슐화합니다. 이는 PHP 클래스로 정의됩니다.
확장 기능은 Fluid: Components 에 또 다른 성분을 추가합니다.
fluid components ViewHelpers와 유사합니다. 주요 차이점은 Fluid에서만 정의할 수 있다는 것입니다. 어떤 면에서는 Fluid의 부분과 매우 유사하지만 몇 가지 장점이 있습니다.
다음 구성요소는 간단한 티저 카드 요소를 구현합니다.
Components/TeaserCard/TeaserCard.html
< fc : component >
< fc : param name = " title " type = " string " />
< fc : param name = " link " type = " Typolink " />
< fc : param name = " icon " type = " string " optional = " 1 " />
< fc : param name = " theme " type = " string " optional = " 1 " default = " light " />
< fc : renderer >
< a href = " {link} " class = " {component.class} {component.class}-{theme} " >
< h3 class = " {component.prefix}title " >{title}</ h3 >
< f : if condition = " {content} " >
< p class = " {component.prefix}description " >< fc : slot /></ p >
</ f : if >
< f : if condition = " {icon} " >
< i class = " icon icon-{icon} {component.prefix}icon " ></ i >
</ f : if >
</ a >
</ fc : renderer >
</ fc : component >
TYPO3에 대한 티저 카드를 렌더링하려면 템플릿에서 다음 코드를 사용하세요.
{namespace my=VENDORMyExtensionComponents}
< my : teaserCard
title = " TYPO3 "
link = " https://typo3.org "
icon = " typo3 "
>
The professional, flexible Content Management System
</ my : teaserCard >
결과는 다음 HTML입니다.
< a href = " https://typo3.org " class = " smsExampleTeaserCard smsExampleTeaserCard-light " >
< h3 class = " smsExampleTeaserCard_title " >TYPO3</ h3 >
< p class = " smsExampleTeaserCard_description " >The professional, flexible Content Management System</ p >
< i class = " icon icon-typo3 smsExampleTeaserCard_icon " ></ i >
</ a >
(더 나은 가독성을 위해 들여쓰기가 개선되었습니다)
TER 또는 작곡가를 통해 확장을 설치합니다.
composer require sitegeist/fluid-components
ext_localconf.php 에서 구성 요소 네임스페이스를 정의합니다.
$ GLOBALS [ ' TYPO3_CONF_VARS ' ][ ' EXTCONF ' ][ ' fluid_components ' ][ ' namespaces ' ][ ' VENDOR \ MyExtension \ Components ' ] =
TYPO3 CMS Core Utility ExtensionManagementUtility:: extPath ( ' my_extension ' , ' Resources/Private/Components ' );
VENDOR
에는 자체 공급업체 이름, MyExtension
에는 확장명, my_extension
에는 확장 키를 사용하세요.
MyComponent.html 파일이 포함된 MyComponent 디렉터리를 생성하여 EXT:my_extension/Resources/Private/Components/ 에 첫 번째 구성 요소를 만듭니다.
구성 요소는 어떻게 생겼나요?에 따라 구성 요소를 정의하고 적용합니다. 확장 문서도 도움이 될 수 있습니다.
fluid components 에 대한 살아있는 스타일 가이드인 Fluid Styleguide와 구성 요소의 품질과 재사용성을 향상시키는 fluid components Linter를 확인하세요.
질문이 있거나 지원이 필요하거나 TYPO3의 구성 요소에 대해 논의하고 싶다면 언제든지 #ext-fluid_comComponents에 가입하세요.
기능 참조
방법
이 패키지의 개발 및 공개 릴리스는 내 고용주 https://sitegeist.de의 후원을 받습니다.