hallo zusammen
in meinem projekt werden teammitglieder dargestellt, jedes teammitglied auf einer eigenen seite. nun möchte ich die tt_content tabelle erweiern, so dass bei jedem teammitglied in den page properties ein flag "isProfessional" gesetzt werden kann.
Dazu habe ich mit dem extension builder eine neue ext angelegt welche die tt_content tabelle erweitert. dort habe ich das isProfessional feld eingefügt. Wenn ich die extension dann installiere wird das feld in der DB auch korrekt angelegt nur im Backend (in den page properties) kann wird das file nicht gemappt, resp erscheint nicht. Kann mir jemand einen Tip geben wie ich dieses neue feld in meine page-properties mappen kann?
Das ext_tables.php in meiner ext sieht so aus. Dort ist das neue feld bereits eingefügt, angezeigt wird dieses jedoch nicht.
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
t3lib_extMgm::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'extended content');
$tmp_extcontent_columns = array(
'isprofessional' => array(
'exclude' => 0,
'label' => 'LLL:EXT:extcontent/Resources/Private/Language/locallang_db.xml:tx_extcontent_domain_model_professionals.isprofessional',
'config' => array(
'type' => 'check',
'default' => 0
),
),
);
t3lib_extMgm::addTCAcolumns('tt_content',$tmp_extcontent_columns);
$TCA['tt_content']['columns'][$TCA['tt_content']['ctrl']['type']]['config']['items'][] = array('LLL:EXT:extcontent/Resources/Private/Language/locallang_db.xml:tt_content.tx_extbase_type.Tx_Extcontent_Professionals','Tx_Extcontent_Professionals');
$TCA['tt_content']['types']['Tx_Extcontent_Professionals']['showitem'] = $TCA['tt_content']['types']['1']['showitem'];
$TCA['tt_content']['types']['Tx_Extcontent_Professionals']['showitem'] .= ',--div--;LLL:EXT:extcontent/Resources/Private/Language/locallang_db.xml:tx_extcontent_domain_model_professionals,';
$TCA['tt_content']['types']['Tx_Extcontent_Professionals']['showitem'] .= 'isprofessional';
?>
Vielen Dank für eure Tipps
Was genau möchtest du denn machen?
Möchtest du einen eigenen Contentelement Typ erstellen?
Dann musst du noch dein Plugin(CE) registrieren und konfigurieren...
Möchtest du ein Feld zu einem bestehenden Contentelement z.B. "Text und Bild" Hinzufügen?
Dann musst du das Feld im jeweiligen TCA des Typs hinzufügen.
Je nachdem was du genau möchtest sind andere Dinge notwendig.
hallo jank
danke für deine antwort. Ich versuche weder ein Plugin noch ein CE zu erweitern sondern die seite selbst (page properties).
Wenn ich die page-properties einer seite aufrufe habe ich dort ja den reiter "Erweitert" ganz zum schluss. Dort soll mein Feld als checkbox gemappt werden. Das db-feld habe ich bereits angelegt und dieses wurde über das ext_tables.sql auch richtig angelegt an der datenbank. Die ganze übung mache ich, weil ich einer normalen seite in typo3 noch einige zusätzliche eigenschaften geben möchte. später kann ich dann z.b in einem flexform alle seiten auslesen, welche das isProfessional flag angewählt haben.
Im Anhang findest du ein Beispiel, wo und wie ich mir das vorstelle.
Vielen Dank für deine Tips

Also du hast die tt_content erweitert. Wenn du wie du sagst unter "Backend (in den page properties)" wirst du da nichts finden. Da müsstest du die tabelle "pages" erweitern. Dein Feld solltest du sehen, wenn du z.B. ein Content Element wie "Text" oder "Text mit Bild" bearbeitest. Im hintersten register, sofern du nichts am TCA geändert hast.
hi cephei
oh klar... tt_content ist ja für CE. Ich werde mit pages nochmals versuchen.
Danke für den Tip
Hallo nochmals
Ich habe das ganze jetzt nochmals mit der pages tabelle versucht. Ich versuche der pages tabelle ein isProfessional feld hinzuzufügen. Ich erhalte beim abspeichern der extension die folgende Meldung und weiss nicht so genau was mir diese sagen will:
The configured type field for table "pages" is of type int(11) unsigned
This means the type field can not be used for defining the record type.
You have to configure the mappings yourself if you want to map to this
table or extend the correlated class
Wenn ich trotz der Warnung weiter mache, wird die ext geschrieben, mein feld ist aber nach wie vor nicht sichtbar im backend.
Falls noch jemand einen Tip hat wäre ich dankbar.
Gruss Michi
Der extension_builder erweitert Dir meines Wissens nicht das TCA für die Tabelle pages.
Das musst Du selber in der ext_tables.php machen.
Ein Beispiel wie man z.B. die tt_content Tabelle erweitert findest Du unter https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/HowTo/ExtendingTca/Examples/Index.html#extending-examples-ttcontent
Hallo!
Ich will eine eigene extension programieren, die dem User die möglichkeit gibt im Backend Pdfs hochzuladen.
Wie kann ich dazu definieren?
$TCA['tt_content']['types']['contentelements_eintrag']['showitem'] =
'CType;;4;button;1-1-1, header, bodytext;;9;richtext:rte_transform[flag=rte_enabled|mode=ts_css];, image, --div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access,starttime, endtime, fe_group';
Zur Zeit gibt es nur die Möglichkeit ein Bild hochzuladen?!
Bitte um Hilfe!
Danke vorab & Lg
Basset
Natürlich kann man im TYPO3-BE PDFs hochladen. Im Install-Tool kannst du die erlaubten Datei-Formate einstellen.
Und wenn du eine eigene Extension hast mit einem BE-Modul, dann kannst du in der TCA für das upload-Feld die erlaubten Datei-Endungen erlauben.