[TYPO3-german] Medien-Ressourcen erweitern

Bernd Pier macbepepi at me.com
Fri Jun 2 08:24:00 CEST 2017


Am 01.06.17 um 08:06 schrieb Wolfertz, Sebastian:
> Und der Screenshot nochmal als Anlage per Email, da zumindest bei mir der Foren-Post total zerstückelt angekommen ist.
>
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Sebastian Wolfertz
> Gesendet: Mittwoch, 31. Mai 2017 15:28
> An: typo3-german at lists.typo3.org
> Betreff: [TYPO3-german] Medien-Ressourcen erweitern
>
> Hallo liebe Liste,
>
> ich würde gerne die Ressourcen sowohl für Seiten als auch für das Bilder-Inhaltsobjekt um eine Auswahl an Radio-Buttons erweitern, (siehe Screenshot)
>
> [img]index.php/fa/17134/0/[/img]
>
> Leider habe ich nicht die geringste Ahnung wie ich da vorgehen könnte, vor allem weil ich das Rad nicht neu erfinden will. Das ist doch bestimmt eine Standard-Palette die ich mit nur kleinen Anpassungen irgendwie weitern kann.
>
> Kann mich da jemand in die richtige Richtung weisen?
>
> Vielen Dank!
>
> Euer Sebastian
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
Hallo Sebastian,

ich mach das mit einer eigenen Extension die die Tabelle 
sys_file_refernce erweitert. Dafür brauchst du eine einfache Extension 
mit den Ordnern:
- Configuration->TCA->Overrides
- Resources

In Overrides legst du eine
sys_file_reference.php (die muss so heißen weil du die Tabelle 
sys_file_reference erweiterst)
Da kannst du dann beispielhaft sowas implementieren:
<?php
if (!defined('TYPO3_MODE')) {
   die ('Access denied.');
}

$temporaryColumns = array (
     'tx_extend_media_css' => array (
             'exclude' => 0,
             'label' => 
'LLL:EXT:extend_media/Resources/Private/Language/locallang_db.xlf:media.tx_extend_media_css',
             'type' => 'select',
             'config' => array (
                 'type' => 'select',
                 'renderType' => 'selectSingle',
                 'items' => array (
 
array('LLL:EXT:extend_media/Resources/Private/Language/locallang_db.xlf:media.tx_extend_media_css.I.0', 
''),
 
array('LLL:EXT:extend_media/Resources/Private/Language/locallang_db.xlf:media.tx_extend_media_css.I.1', 
'half'),
 
array('LLL:EXT:extend_media/Resources/Private/Language/locallang_db.xlf:media.tx_extend_media_css.I.2', 
'full')
                 ),
                 'size' => 1,
                 'maxitems' => 1,
         )
     ),
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
         'sys_file_reference',
         $temporaryColumns
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('sys_file_reference', 
'--palette--;LLL:EXT:extend_media/Resources/Private/Language/locallang_db.xlf:media.palette_title;tx_extend_media', 
'', '');

$GLOBALS['TCA']['sys_file_reference']['palettes']['tx_extend_media'] = 
array(
         'showitem' => 'tx_extend_media_css'
     );
$GLOBALS['TCA']['sys_file_reference']['palettes']['imageoverlayPalette']['showitem'].=",--linebreak--,tx_extend_media_css";


Das müsstest du dann für deinen Fall ändern, aber TCA ist ziemlich gut 
dokumentiert.

in Resources->Private->Language liegt dann deine Sprachdatei damit im BE 
das Feld auch eine Beschriftung bekommmt.

Nun mußt du noch 1 Datei anpassen:
1. ext_tables.sql hier die DB Definition für dein Feld rein für mein 
Beispiel:
CREATE TABLE sys_file_reference (
         tx_extend_media_css varchar(255) DEFAULT '';
);

Das funktioniert mit allen Tabellen in Typo3. Ein etwas ausführlicheres 
Tutorial gibt es z.B. hier.
http://www.sklein-medien.de/tutorials/detail/typo3-datenbanktabellen-um-neue-felder-erweitern/

Aber du findest bestimmt noch mehr zu dem Thema.

Grüsse

Bernd aus K.


More information about the TYPO3-german mailing list