Vlastní rozšíření

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',
        ],
    ],
];