TYPO3中的自定义扩展列表

时间:2020-04-01 06:00:37

标签: typo3

我的网站上有一个后端模块。在此后端模块中,我需要列出网站中使用的所有自定义插件。我不知道列出所有自定义插件。

2 个答案:

答案 0 :(得分:3)

您的问题缺少重要数据,例如您正在使用的TYPO3版本。
另外,不清楚您是指插件还是扩展。我的猜测是您的意思是扩展名。

如果您需要所有不是“ TYPO3系统扩展”的扩展,则可以在Controller中执行以下操作:

$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);

如果您也想排除其他扩展名,则必须采用这种逻辑,例如检查$ key to并在这种情况下继续。

注意:答案需要基本了解使用Extbase进行TYPO3开发的工作方式。

答案 1 :(得分:1)

要列出扩展的所有插件(通过TYPO3后端插入),可以使用简单的SQL查询

从tt_content中选择,其中CType =“ list”和list_type =“ your_plugin”

但是您不应该使用原始查询,而应该使用QueryBuilder,因为它提供了额外的安全性并通过删除等限制增强了查询。