Ich bin neu bei TYPO3 (erstes Projekt) und habe ein paar Verständnisprobleme bei der Erstellung eines benutzerdefinierten Elements mit einem Colorpicker. In diesem Projekt habe ich bereits einige Elemente erstellt, aber ich verwende nur vorgegebene Felder für die Backend-Eingabe. Für das Element, das ich als nächstes brauche, muss der Benutzer eine Farbe auswählen. Ich habe kein passendes vorhandenes Element gefunden. Mein Setup, das nicht funktioniert, ist in der TCA/Overrides/tt_content.php
Datei und sieht so aus.TYPO3 Custom Element colorpicker
$GLOBALS['TCA']['tt_content']['item_0']=array();
$GLOBALS['TCA']['tt_content']['item_0']['label']='Color';
$GLOBALS['TCA']['tt_content']['item_0']['config']=array();
$GLOBALS['TCA']['tt_content']['item_0']['config']['type']='input';
$GLOBALS['TCA']['tt_content']['item_0']['config']['renderType']='colorpicker';
$GLOBALS['TCA']['tt_content']['item_0']['config']['size']=10;
$GLOBALS['TCA']['tt_content']['types']['wo_mitem'] = array(
'showitem' => '--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general,
header;Title,
subheader;Background,
header_link;Target,
item_0;Color,
bodytext;Text;;richtext:rte_transform[flag=rte_enabled|mode=ts_css]
');
Die item_0
ein Versuch war eine Colorpicker zu schaffen, aber es scheint nicht zu funktionieren. Brauche ich etwas anderes in einer anderen Datei? Die ersten paar Zeilen, die ich hinzugefügt habe, um mein Feld zu definieren. Gibt es einen besseren Weg, dies zu tun?
Alle anderen Dateien in meiner benutzerdefinierten Erweiterung funktionieren (da alle anderen benutzerdefinierten Elemente funktionieren). Der einzige Unterschied ist, wie gesagt, die Notwendigkeit einer Möglichkeit, eine Farbe in der neuen Farbe zu wählen.
Nur für einen klareren Blick hier die anderen Dateien
setup.txt:
lib.contentElement {
templateRootPaths {
100 = EXT:wostyle/Resources/Private/Template
}
}
tt_content {
wo_mitem < lib.contentElement
wo_mitem {
templateName = MItem
}
}
tt_content.php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(
array(
'WO_Item (ItemBox, Text only)',
'wo_mitem',
'content-image'
),
'CType',
'wostyle'
);
$GLOBALS['TCA']['tt_content']['item_0']=array();
$GLOBALS['TCA']['tt_content']['item_0']['label']='Farbe';
$GLOBALS['TCA']['tt_content']['item_0']['config']=array();
$GLOBALS['TCA']['tt_content']['item_0']['config']['type']='input';
$GLOBALS['TCA']['tt_content']['item_0']['config']['renderType']='colorpicker';
$GLOBALS['TCA']['tt_content']['item_0']['config']['size']=10;
$GLOBALS['TCA']['tt_content']['types']['wo_mitem'] = array(
'showitem' => '--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general,
header;Bezeichnung,
subheader;Chemische Bezeichnung,
header_link;Zielseite,
item_0;Farbe,
bodytext;Text;;richtext:rte_transform[flag=rte_enabled|mode=ts_css]
');
typo.ts
mod.wizards.newContentElement.wizardItems.wo_extra {
header = WO Elemente
after = common
elements {
wo_mitem {
iconIdentifier = content-image
title = WO_Item (ItemBox, Text only)
description = Ein Produktfeld mit Text
tt_content_defValues {
CType = wo_mitem
}
}
}
show := addToList(wo_mitem)
}
MITEM. html
<div class="item-text">
<f:link.typolink parameter="{data.header_link}">
<div class="item-front">
<f:if condition="{data.subheader}!=''">
<f:then>
<div class="item-bg">
<f:format.html>{data.subheader}</f:format.html>
</div>
</f:then>
</f:if>
<div class="item-title">
<f:format.html>{data.header}</f:format.html>
</div>
</div>
<div class="item-back">
<f:format.html>{data.bodytext}</f:format.html>
</div>
</f:link.typolink>
</div>
<f:debug>{data}</f:debug>
EDIT: Ich benutze typo3 8.7.8
Tank dich sehr, jetzt funktioniert es. Die "Spalten" fehlten und auch das Feld "item_0" in der Tabelle selbst. :) – Nyxeen