---
title: "Bestehende Extension erweitern"
url: "https://www.typo3.net/d/122866-bestehende-extension-erweitern"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Extbase","Frage","TCA","TYPO3 6.x"]
created: "2016-07-18"
last_reply: "2016-07-21"
replies: 4
solved: true
page: 1
pages: 1
lang: "de"
---

# Bestehende Extension erweitern

Extensions › Entwicklung · 4 Antworten · gelöst · gestartet 2016-07-18

## Frage

**marryk** · 2016-07-18 · [Beitrag #1](https://www.typo3.net/d/122866-bestehende-extension-erweitern/1)

Hallo Zusammen,

ich bräuchte eure fachliche Hilfe.
Ich möchte gerne die Calendarize-Extension überschreiben/erweitern. Und zwar brauche ich dort, nicht nur die Möglichkeit Bilder und Downloads hochzuladen, sondern auch Videos.

Nach 3 Tagen Recherche bin ich zu folgendem Ergebnis gekommen, was aber nicht funktioniert #angry#

----------------------------------------------------------------
Einmal gibt es in dem Extension-Ordner "Configuration/TCA/Overrides" die Datei tx_calendarize_domain_model_event.php, mit dem Inhalt:

```php
if (!defined('TYPO3_MODE')) {
    die ('Access denied.');
}
$base = \HDNET\Autoloader\Utility\ModelUtility::getTcaInformation('NAME\\NAME2\\Domain\\Model\\EventDefault');

$custom = [
    'ctrl' => [
        'hideTable' => (boolean)\HDNET\Calendarize\Utility\ConfigurationUtility::get('disableDefaultEvent'),
        'searchFields' => 'uid,title,description',
        'thumbnail' => 'images',
    ],
    'columns' => [
        'title' => [
            'config' => [
                'eval' => 'required'
            ],
        ],
        'abstract' => [
            'config' => [
                'type' => 'text'
            ],
        ],
        'import_id' => [
            'config' => [
                'readOnly' => true,
            ],
        ],
        'filme' => [
            'config' => [
                'type' => 'group',
                'internal_type' => 'file',
                'allowed' => 'mp4, ogv, webm, flv',
                'show_thumbs' => '1',
                'size' => '3',
                'autoSizeMax' => 40,
                'uploadfolder' => 'uploads/movies',
                'disable_controls' => 'upload',
                'maxitems' => '5',
                'minitems' => '0',
            ],
        ],
    ],
];


$tca = \HDNET\Autoloader\Utility\ArrayUtility::mergeRecursiveDistinct($base, $custom);


$search = [
    'images,downloads,',
    'language,--div--',
    'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.extended'
];

$replace = [
    ',',
    'language,--div--;' . \HDNET\Autoloader\Utility\TranslateUtility::getLllOrHelpMessage(
        'files',
        'calendarize'
    ) . ',images,downloads,filme,--div--',
    \HDNET\Autoloader\Utility\TranslateUtility::getLllOrHelpMessage('dateOptions', 'calendarize')
];

$tca['types']['1']['showitem'] = str_replace('filme,', '', $tca['types']['1']['showitem']);
$tca['types']['1']['showitem'] = str_replace($search, $replace, $tca['types']['1']['showitem']);

return $tca;
```

----------------------------------------------------------------

Dann gibt es noch in der ext_table.sql, folgenden Inhalt:
CREATE TABLE tx_calendarize_domain_model_event (
    filme varchar(250) DEFAULT '' NOT NULL
);

----------------------------------------------------------------

Und zu guter letzt das Model "Domain/Model/EventDefault.php"

```php
namespace NAME\NAME2\Domain\Model;

class EventDefault 
    extends \HDNET\Calendarize\Domain\Model\Event
{

        /**
         * filme
         *
         * @var string
         * @db
         */
        protected $filme = null;

        /**
         * Get filme
         *
         * @return $filme
         */
        public function getFilme()
        {
                return $this->filme;
        }

        /**
         * Set filme
         *
         * @param $filme
         * @return void
         */
        public function setFilme($filme)
        {
                $this->filme = $filme;
        }

}
```

----------------------------------------------------------------

Der Configuration/TypoScript Ordner, ist leer.

Vielen Dank, für eure Unterstützung.
Marry K

## Beste Antwort

**marryk** · 2016-07-21 · [Beitrag #5](https://www.typo3.net/d/122866-bestehende-extension-erweitern/5)

Habs nun

## Antworten

### [#2](https://www.typo3.net/d/122866-bestehende-extension-erweitern/2) · Julian.​Hofmann · 2016-07-20

Hallo Marry.

Wenn ich mich richtig an einen Vortrag und von Tim erinnere, dann lassen sich in die Extension beliebige, eigene Models integrieren. Eine kurze Anleitung steht hierzu in der Doku: <https://docs.typo3.org/typo3cms/extensions/calendarize/DeveloperManual/OwnEvents/Index.html>

Direkt in Extension rumzubasteln sollte vermieden werden, da sie dann nicht mehr updatefähig ist. Also lieber eine eigene Extension schreiben, die Calendarize erweitert.

Viele Grüße
Julian

### [#3](https://www.typo3.net/d/122866-bestehende-extension-erweitern/3) · marryk · 2016-07-20

Hallo Julian,

vielen Danke, für den Tipp.
Die Extension, möchte ich ja gerade, über eine weitere Extension erweitern, und dort hakt es ja.

Ich habe das nun über die Register-Funktion gemacht, die DB-Tabelle wird erstellt, leider werden die Model-Variablen nicht über die PHP-Datei mit angelegt. Dies könnte ich ja auch dann per ext_tables.sql erledigen. Leider habe ich immer noch das Problem, das ich nicht ans TCA komme, um dies zu erweitern.  Der Versuch, es einfach zu überschreiben, über TCA/Overrides/tx_calendarize_domain_model_event.php ging leider nicht. Irgendwie überschrieb er mein Anpassung, vor der Ausgabe nochmals -.-

### [#4](https://www.typo3.net/d/122866-bestehende-extension-erweitern/4) · marryk · 2016-07-20

Hallo Julian,

vielen Danke, für den Tipp.
Die Extension, möchte ich ja gerade, über eine weitere Extension erweitern, und dort hakt es ja.

Ich habe das nun über die Register-Funktion gemacht, die DB-Tabelle wird erstellt, leider werden die Model-Variablen nicht über die PHP-Datei mit angelegt. Dies könnte ich ja auch dann per ext_tables.sql erledigen. Leider habe ich immer noch das Problem, das ich nicht ans TCA komme, um dies zu erweitern.  Der Versuch, es einfach zu überschreiben, über TCA/Overrides/tx_calendarize_domain_model_event.php ging leider nicht. Irgendwie überschrieb er mein Anpassung, vor der Ausgabe nochmals -.-

### [#5](https://www.typo3.net/d/122866-bestehende-extension-erweitern/5) · marryk · 2016-07-21 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

---

Quelle: „Bestehende Extension erweitern“, typo3.net, https://www.typo3.net/d/122866-bestehende-extension-erweitern
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
