Как установить конфигурации для использования в TCA / Overrides или как настроить категории sys? - PullRequest
0 голосов
/ 18 декабря 2018

Для расширения я хотел бы использовать sys_categories, которые хранятся в отдельной папке.Как я настраиваю папку и получаю доступ к конфигурации в настройке TCA?

Я попробовал этот подход.Я использую метод \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable внутри Configuration/TCA/Overrides/tx_xref_domain_model_project.php.

Там, где я размещаю код 333, я бы хотел использовать значение конфигурации в идеальном случае tsconfig.Разбирается и доступен ли он в данный момент?

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
   'xref',
   'tx_xref_domain_model_project',
   'areas',
   array(
       'label' => 'Areas',
       'exclude' => FALSE,
       'fieldConfiguration' => array(
           'foreign_table_where' => ' AND sys_category.pid = 333',
       )
   )
);

Есть ли более легкий подход для решения этой проблемы?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

По крайней мере, глобальная конфигурация расширения доступна на этом этапе.

https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/ConfigurationOptions/Index.html

Это не совсем удовлетворительно, так как вы можете определить разные исходные папки категории для разных страниц или папок sys_folders.Тем не менее, это подойдет для многих проектов:

$areaFolder = (int)\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
    \TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class)
    ->get('xref', 'areaFolder');

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
    'xref',
    'tx_xref_domain_model_project',
    'areas',
    array(
        'label' => 'Areas',
        'exclude' => FALSE,
        'fieldConfiguration' => array(
            'foreign_table_where' => ' AND sys_category.pid = ' . (string) $areaFolder,
        )
    )
);
0 голосов
/ 18 декабря 2018

Использование ExtensionManagementUtility::makeCategorizable() в Configuration/TCA/Overrides/<your_table>.php является абсолютно правильным подходом, и фактически то, что делает TYPO3 .

...