[Frage] IRRE Records anzeigen/sortieren TYPO3-Version: 6.2.7

  • dfluess dfluess
    Jedi-General
    0 x
    1293 Beiträge
    1 Hilfreiche Beiträge
    15. 12. 2014, 18:38

    Liebe Gemeinde,

    ich habe bereits einen anderen Thread eröffnet, jedoch habe ich meine erste Frage eigentlich fast selbst beantwortet und die Lösung gefunden. Deshalb dieses neue Thema in der Hoffnung weiter zu kommen. Ich bin in Sachen IRRE, fluid usw. noch sehr unerfahren und stelle deshalb für einige vielleicht etwas "dumme" Fragen.

    Nach langem suchen habe ich es schließlich hinbekommen, ein IRRE-Feld im tx_news Datensatz mit zwei neuen Feldern zu erzeugen. Diese sollen später (gestapelt) in der Detailansicht dargestellt werden.

    Jedoch werden diese erzeugten Datensätze nicht unmittelbar unter/über dem Button "Neu Anlegen" angezeigt, sodass man Sie verschieben oder löschen könnte. Nur in der List-Ansicht sind diese Datensätze zu sehen. Ich möchte hier einmal meinen bisherigen Code zeigen, in der Hoffnung, dass irgend jemand den Fehler sieht.

    Hier wird die Tabelle für tx_news erweitert

    1. # ext_tables.sql
    2. # Table structure for table 'tx_news_domain_model_news'
    3. #
    4. CREATE TABLE tx_news_domain_model_news (
    5. custom int(11) unsigned DEFAULT '0' NOT NULL
    6. );
    7.  
    8. # Eine eigene Tabelle für zwei neue Felder wird angelegt
    9. #
    10. # Table structure for table 'tx_newscustom_domain_model_newscustom'
    11. #
    12. CREATE TABLE tx_newscustom_domain_model_newscustom (
    13.  
    14. uid int(11) NOT NULL auto_increment,
    15. pid int(11) DEFAULT '0' NOT NULL,
    16. bezeichnung varchar(255) DEFAULT '' NOT NULL,
    17. wert varchar(255) DEFAULT '' NOT NULL,
    18. PRIMARY KEY (uid),
    19. KEY parent (pid)
    20. );

    Der entsprechende Teil in der ext_tables.php[code]

    1. [...]
    2. 'custom' => array(
    3. 'exclude' => 1,
    4. 'l10n_mode' => 'mergeIfNotBlank',
    5. 'label' => 'Inhalte',
    6. 'config' => array(
    7. 'type' => 'inline',
    8. 'allowed' => 'tx_newscustom_domain_model_newscustom',
    9. 'foreign_table' => 'tx_newscustom_domain_model_newscustom',
    10. 'foreign_field' => 'custom',
    11. 'minitems' => 0,
    12. 'maxitems' => 99,
    13. 'appearance' => array(
    14. 'collapseAll' => 1,
    15. 'expandSingle' => 1,
    16. 'levelLinksPosition' => 'bottom',
    17. 'useSortable' => 1,
    18. 'showPossibleLocalizationRecords' => 1,
    19. 'showRemovedLocalizationRecords' => 1,
    20. 'showAllLocalizationLink' => 1,
    21. 'showSynchronizationLink' => 1,
    22. 'enabledControls' => array(
    23. 'info' => FALSE,
    24. )
    25. )
    26. )
    27. ),
    28. [...]
    29. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx_news_domain_model_news','custom');
    30. [...]

    Wer kann helfen?

    Herzlichen Dank im voraus!

    Detlef


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    16. 12. 2014, 09:44

    Da stimmt aber was noch nicht in deiner Config.. eventuell hängt dein Problem damit zusammen:

    foreign_field: The field of the child, containing the uid of its parent, is defined with "foreign_field" in TCA.

    Du hast es genau anderes herum gebaut, custom ist bei dir im parent angelegt.

  • dfluess dfluess
    Jedi-General
    0 x
    1293 Beiträge
    1 Hilfreiche Beiträge
    16. 12. 2014, 11:50

    Danke das war hilfreich. :)

    Ich habe allerdings nun mit dem Extension-Builder das Gerüst für zwei IRRE Datensätze neu erstellt, funktioniert damit soweit. Im Anhang dazu die bildliche Struktur aus dem Extension Builder...

    Die TCA-Configuration sieht nun aktuell so aus:

    1. 'merkmal' => array(
    2. 'exclude' => 1,
    3. 'label' => 'LLL:EXT:newscustom/Resources/Private/Language/locallang_db.xlf:tx_newscustom_domain_model_newscustom.merkmal',
    4. 'config' => array(
    5. 'type' => 'inline',
    6. 'foreign_table' => 'tx_newscustom_domain_model_merkmal',
    7. 'foreign_sortby' => 'sorting',
    8. 'minitems' => 0,
    9. 'maxitems' => 1,
    10. 'appearance' => array(
    11. 'collapseAll' => 1,
    12. 'expandSingle' => 1,
    13. 'levelLinksPosition' => 'top',
    14. 'useSortable' => 1,
    15. 'showSynchronizationLink' => 1,
    16. 'showPossibleLocalizationRecords' => 1,
    17. 'showAllLocalizationLink' => 1,
    18. 'enabledControls' => array(
    19. 'info' => FALSE,
    20. )
    21. ),
    22. ),
    23. ),
    24. 'preis' => array(
    25. 'exclude' => 1,
    26. 'label' => 'LLL:EXT:newscustom/Resources/Private/Language/locallang_db.xlf:tx_newscustom_domain_model_newscustom.preis',
    27. 'config' => array(
    28. 'type' => 'inline',
    29. 'foreign_table' => 'tx_newscustom_domain_model_preis',
    30. 'foreign_sortby' => 'sorting',
    31. 'minitems' => 0,
    32. 'maxitems' => 1,
    33. 'appearance' => array(
    34. 'collapseAll' => 1,
    35. 'expandSingle' => 1,
    36. 'levelLinksPosition' => 'top',
    37. 'useSortable' => 1,
    38. 'showSynchronizationLink' => 1,
    39. 'showPossibleLocalizationRecords' => 1,
    40. 'showAllLocalizationLink' => 1,
    41. 'enabledControls' => array(
    42. 'info' => FALSE,
    43. )
    44. ),
    45. ),
    46. ),

    Das TCA für die News-Extension füge ich einfach so an:

    1. $tempColumns = $GLOBALS['TCA']['tx_newscustom_domain_model_newscustom']['columns'];
    2.  
    3. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx_news_domain_model_news',$tempColumns,1);
    4. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx_news_domain_model_news','merkmal, preis');

    Anhänge (1)
    EBuilder.JPG image/jpeg 0,00 B 127 heruntergeladen
  • 1