Список пользовательских расширений в TYPO3 - PullRequest
0 голосов
/ 01 апреля 2020

У меня на сайте есть бэкэнд модуль. В этом бэкэнд-модуле мне нужно перечислить все пользовательские плагины, которые я использую на сайте. Я понятия не имею, чтобы перечислить все пользовательские плагины.

Ответы [ 2 ]

2 голосов
/ 01 апреля 2020

В вашем вопросе отсутствуют важные данные, например, какую версию TYPO3 вы используете.
Кроме того, неясно, имеете ли вы в виду плагины или расширения. Я предполагаю, что вы имеете в виду расширения.

В случае, если вам нужны все расширения, которые не являются "системными расширениями TYPO3", вы можете сделать что-то подобное в вашем контроллере, я думаю:

$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
$listUtility = $objectManager->get(ListUtility::class);
$allExtensions = $listUtility->getAvailableExtensions();
$customExtensions = [];
foreach ($allExtensions as $key => $f) {
    if (is_dir(Environment::getPublicPath() . '/typo3/sysext/' . $key . '/')) {
        continue;
    }
    $customExtensions[$key] = $f;
    $customExtensions[$key]['isLoaded'] = (int)ExtensionManagementUtility::isLoaded($key);
}
$this->view->assign('extensions', $customExtensions);

Если вы хотите исключить и другие расширения, вы должны принять лог c, например, проверить ключ $ и продолжить в этом случае.

Примечание. Для ответа требуется базовое c понимание того, как TYPO3 Разработка с использованием Extbase.

1 голос
/ 01 апреля 2020

Чтобы вывести список всех плагинов вашего расширения (вставленных через бэкен TYPO3), вы можете использовать простой SQL Запрос

, выбрать из tt_content, где CType = "list" и list_type = "your_plugin"

Но вы не должны использовать необработанные запросы, а должны использовать QueryBuilder, поскольку он обеспечивает дополнительную безопасность и повышает ваш запрос с такими ограничениями, как удаление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...