[Frage] tt_content erweitern mit extbase TYPO3-Version: 6.0.0

  • zitronenbaum zitronenb...
    Padawan
    0 x
    46 Beiträge
    1 Hilfreiche Beiträge
    29. 07. 2013, 19:05

    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.

    1. <?php
    2. if (!defined('TYPO3_MODE')) {
    3. die ('Access denied.');
    4. }
    5.  
    6. t3lib_extMgm::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'extended content');
    7.  
    8. $tmp_extcontent_columns = array(
    9.  
    10. 'isprofessional' => array(
    11. 'exclude' => 0,
    12. 'label' => 'LLL:EXT:extcontent/Resources/Private/Language/locallang_db.xml:tx_extcontent_domain_model_professionals.isprofessional',
    13. 'config' => array(
    14. 'type' => 'check',
    15. 'default' => 0
    16. ),
    17. ),
    18. );
    19.  
    20. t3lib_extMgm::addTCAcolumns('tt_content',$tmp_extcontent_columns);
    21.  
    22. $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');
    23.  
    24. $TCA['tt_content']['types']['Tx_Extcontent_Professionals']['showitem'] = $TCA['tt_content']['types']['1']['showitem'];
    25. $TCA['tt_content']['types']['Tx_Extcontent_Professionals']['showitem'] .= ',--div--;LLL:EXT:extcontent/Resources/Private/Language/locallang_db.xml:tx_extcontent_domain_model_professionals,';
    26. $TCA['tt_content']['types']['Tx_Extcontent_Professionals']['showitem'] .= 'isprofessional';
    27.  
    28. ?>

    Vielen Dank für eure Tipps

  • Hilfreichster Beitrag

  • cephei cephei
    Padawan
    1 x
    40 Beiträge
    1 Hilfreiche Beiträge
    30. 07. 2013, 19:29 - Hilfreichster Beitrag

    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.

    Diese Signatur ist in Ihrem Land leider nicht verfügbar.


  • 1
  • jank jank
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    30. 07. 2013, 13:55

    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.

  • zitronenbaum zitronenb...
    Padawan
    0 x
    46 Beiträge
    1 Hilfreiche Beiträge
    30. 07. 2013, 18:31

    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

    Anhänge (1)
    Eingefügtes_Bild_30.07.13_18_12.png image/png 0,00 B 336 heruntergeladen
  • cephei cephei
    Padawan
    1 x
    40 Beiträge
    1 Hilfreiche Beiträge
    30. 07. 2013, 19:29

    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.

    Diese Signatur ist in Ihrem Land leider nicht verfügbar.

  • zitronenbaum zitronenb...
    Padawan
    0 x
    46 Beiträge
    1 Hilfreiche Beiträge
    31. 07. 2013, 11:42

    hi cephei

    oh klar... tt_content ist ja für CE. Ich werde mit pages nochmals versuchen.

    Danke für den Tip

  • zitronenbaum zitronenb...
    Padawan
    0 x
    46 Beiträge
    1 Hilfreiche Beiträge
    05. 08. 2013, 14:39

    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:

    [b]The configured type field for table "pages" is of type int(11) unsigned[/b]
    [b]This means the type field can not be used for defining the record type.[/b]
    [b]You have to configure the mappings yourself if you want to map to this[/b]
    [b]table or extend the correlated class[/b]

    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

  • jank jank
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    06. 08. 2013, 11:41

    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 [url]http://docs.typo3.org/typo3cms/TCAReference/ExtendingTca/Examples/Index.html#extending-examples-ttcontent[/url]

  • basset23 basset23
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    15. 01. 2014, 14:50

    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

  • ToBe ToBe
    Padawan
    0 x
    60 Beiträge
    0 Hilfreiche Beiträge
    18. 11. 2014, 11:15

    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.

  • 1