V žargonu TYPO3 bychom měli použít slovo extenžna (extension). Co si pod tímto pojmem představit? Vlastně jakékoliv rozšíření systému, ať se jedná o čistě backendové funkce, jako je nějaká automatická operace v pozadí, nové modely objektů, ale i pluginy – frontendové zobrazení určitého obsahu, celé templejty a šablony.
Na vytváření rozšíření už budeme potřebovat znalosti programování, na rozdíl od čisté správy obsahu webu.
Pro vytvoření vlastního rozšíření se musíme podívat do systému služek. Vše, co se týká rozšíření, najdeme v adresáři typo3conf/ext. Každá extenžna má svoji vlastní složku (i název této složky velmi často hraje roli).
Raději si to ukažme na nějakém příkladu
Nejprve si vytvoříme složku typo3conf/ext/shop a do této složky umístíme soubor ext_emconf.php. Tento soubor obsahuje pouze pole, které je základním nastavením celého rozšíření. Pro plné pochopení doporučuji si projít oficiální dokumentaci. Nás zajímají především tyto prvky:
title – název rozšíření
description – popis rozšíření
author – jméno autora
author_email – email autora
version – číslo verze ve formátu x.x.x
<?php
// typo3conf/ext/shop/ext_emconf.php
$EM_CONF[$_EXTKEY] = [
'title' => 'ununik shop',
'description' => 'Custom shop-system solution.',
'category' => 'misc',
'author' => 'Martin Pribyl',
'author_email' => 'ununik@gmail.com',
'state' => 'alpha',
'internal' => '',
'uploadfolder' => 1,
'createDirs' => 'uploads/shop',
'clearCacheOnLoad' => 0,
'version' => '1.0.0',
'constraints' => [
'depends' => [
'typo3' => '8.7.8-9.9.99',
],
'conflicts' => [
],
'suggests' => [
],
],
'autoload' => [
'psr-4' => [
'Ununik\\Shop\\' => 'Classes',
],
],
];