我在我的网站上有一个后端模块。在这个后端模块中,我需要列出我在网站中使用的所有自定义插件。我不知道要列出所有的自定义插件。
发布于 2020-04-01 14:26:36
您的问题缺少重要数据,例如您使用的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);
如果你也想排除其他扩展,你必须采用逻辑,比如检查$key,然后在这种情况下继续。
注意:答案需要基本了解使用Extbase进行TYPO3开发的工作原理。
发布于 2020-04-01 14:39:23
要列出扩展的所有插件(通过SQL插入),您可以使用一个简单的TYPO3查询
select from tt_content where CType="list“和list_type="your_plugin”
但您不应该使用原始查询,而应该使用QueryBuilder,因为它提供了额外的安全性,并通过deleted等限制增强了查询。
https://stackoverflow.com/questions/60964549
复制相似问题