TYPO3 TCA inline relation selectable and editable

56 Views Asked by At

The following initial situation. I have records as a set and records as items. Now I want to display the items inline in the set completely, but I want to be able to select them from existing items. In addition, items must be allowed to appear multiple times in the same set. And new items must be able to be created from the set. Similar to how FAL works.

In the current implementation I am still missing:

  • Display of all fields of Item inline from Set (not only childid).
  • Button New record

Screenshot Backend

Current screenshot of the backend

Configuration/TCA/tx_zhawinfopointpublisher_domain_model_sliderset.php

return [
    'ctrl' => [...],
    'types' => [...],
    'palettes' => [...],
    'columns' => [
        'inline_1' => [
            'label' => 'inline_1',
            'config' => [
                'type' => 'inline',
                'foreign_table' => 'tx_zhawinfopointpublisher_inline_mngroup_mm',
                'foreign_field' => 'parentid',
                'foreign_sortby' => 'parentsort',
                'foreign_label' => 'childid',
                'foreign_unique' => 'childid',
                'foreign_selector' => 'childid',
                'appearance' => [
                    'showSynchronizationLink' => true,
                    'showAllLocalizationLink' => true,
                    'showPossibleLocalizationRecords' => true,
                    'expandSingle' => true,
                ],
            ],
        ],

Configuration/TCA/tx_zhawinfopointpublisher_inline_mngroup_mm.php

return [
    'ctrl' => [...],
    'types' => [...],
    'columns' => [
        'parentid' => [
            'label' => 'parentid',
            'config' => [
                'type' => 'group',
                'size' => 1,
                'eval' => 'int',
                'maxitems' => 1,
                'minitems' => 0,
                'allowed' => 'tx_zhawinfopointpublisher_domain_model_sliderset',
                'hideSuggest' => true,
                'fieldWizard' => [
                    'recordsOverview' => [
                        'disabled' => true,
                    ],
                ],
            ],
        ],
        'childid' => [
            'label' => 'childid',
            'config' => [
                'type' => 'group',
                'size' => 1,
                'eval' => 'int',
                'maxitems' => 1,
                'minitems' => 0,
                'allowed' => 'tx_zhawinfopointpublisher_domain_model_slideritem',
                'hideSuggest' => true,
                'fieldWizard' => [
                    'recordsOverview' => [
                        'disabled' => true,
                    ],
                ],
            ],
        ],
        'parentsort' => [
            'config' => [
                'type' => 'passthrough',
            ],
        ],
        'childsort' => [
            'config' => [
                'type' => 'passthrough',
            ],
        ],

Configuration/TCA/tx_zhawinfopointpublisher_domain_model_slideritem.php

return [
    'ctrl' => [...],
    'types' => [...],
    'palettes' => [...],
    'columns' => [
        'parents' => [
            'exclude' => 1,
            'label' => 'parents',
            'config' => [
                'type' => 'inline',
                'foreign_table' => 'tx_zhawinfopointpublisher_inline_mngroup_mm',
                'foreign_field' => 'childid',
                'foreign_sortby' => 'childsort',
                'foreign_label' => 'parentid',
                'foreign_unique' => 'parentid',
                'foreign_selector' => 'parentid',
                'maxitems' => 10,
                'appearance' => [
                    'showSynchronizationLink' => 1,
                    'showAllLocalizationLink' => 1,
                    'showPossibleLocalizationRecords' => 1,
                    'expandSingle' => true,
                ],
            ],
        ],

Thanks for any tips and tricks or examples.

0

There are 0 best solutions below