inspiredminds/contao-file-usage

Contao 扩展,允许您在辅助文件管理器中搜索数据库中文件的引用。

资助包维护!
fritzmg

安装: 2 970

依赖项: 0

建议者: 0

安全: 0

星标: 11

关注者: 5

分支: 1

公开问题: 2

类型:contao-bundle

2.3.1 2024-05-18 12:20 UTC

This package is auto-updated.

Last update: 2024-09-18 13:01:31 UTC


README

Contao 文件使用

此 Contao 扩展允许您找到并显示文件管理器中管理的文件的引用。对于文件管理器中的每个文件,将有一个新的操作(searchlink)。

File manager

此操作将显示此扩展在数据库中找到的此文件的任何引用,如果有的话,将显示到原始数据记录的链接。

References

搜索结果无限期缓存。您可以使用“刷新”按钮强制获取新的搜索结果。但是,根据您的数据库大小,这可能需要一段时间,并且可能无法在 HTTP 请求中完成。在这种情况下,您需要依赖cronjob命令

您还可以使用“未使用文件”全局操作来查找任何未在任何地方引用的数据库辅助文件(至少根据搜索结果)。

Unused files

文件替换

此扩展还将 Contao 的 fileTree 小部件替换为其自己的实现,显示一个额外的按钮,您可以使用它替换此文件找到的文件引用。

Gallery

Replace references

定时任务

如前所述,搜索结果被缓存。为了确保缓存至少在 24 小时内始终是最新的,此扩展实现了每日定时任务。但是,定时任务仅在命令行界面中运行,因此请确保您已相应设置Contao 的定时任务

命令

您还可以使用contao_file_usage:warmup命令从命令行预热文件使用结果缓存。

自定义提供者

目前,此扩展可以找到由任何(数据库基于)DCA 的 fileTree 输入字段创建的任何引用,它可以从数据库中任何基于文本的字段(如 {{file::*}}{{picture::*}}{{figure::*}} 插入标签)中找到任何引用。如果您想将此搜索扩展到其他位置,您可以通过实现 FileUsageProviderInterface 来实现自己的 文件使用提供者

// src/FileUsage/FoobarProvider.php
use InspiredMinds\ContaoFileUsage\Provider\FileUsageProviderInterface;
use InspiredMinds\ContaoFileUsage\Result\DatabaseReferenceResult;
use InspiredMinds\ContaoFileUsage\Result\ResultsCollection;

class FoobarProvider implements FileUsageProviderInterface
{
    public function find(): ResultsCollection
    {
        $collection = new ResultsCollection();

        // Additional database search
        // …

        $collection->addResult(new DatabaseReferenceResult($table, $field, $id));

        return $collection;
    }
}

这是您需要做的全部,如果您已为您的服务启用了autoconfigure。否则,您还需要手动将服务标记为 contao_file_usage.provider

您可能需要或想要实现一个新结果容器,使用 ResultInterface 来满足您的需求(例如,如果您的提供者查看文件内容,而不是数据库,例如,此扩展默认情况下不这样做)。请注意,目前仅在文件管理器中显示 DatabaseReferenceResult 实例。