将文件管理器插件直接访问 link 个带有缩略图的页面

Access the filer plugin directly to link pages with thumbnails

我正在考虑根据页面上的第一张图片创建缩略图。我认为最好的方法是直接访问文件管理器插件。

文档并不清楚我该如何做到这一点。有人知道吗?

我知道我可以使用以下方式访问页面标题:

from cms.models import Title

Title.objects.all()

是否有类似的方法来访问每个页面上的图像?

您可以像这样访问文件管理器图像模型:

from filer.models.imagemodels import Image

Image.objects.all()

编辑: 如果您尝试访问占位符和视图中的图像,您可以使用以下方法获取页面 cmsplugin_filer 实例。 (这是未经测试的,但希望能有所帮助)

if request.current_page:
    placeholders = request.current_page.placeholders.all()
    plugins = []

    for placeholder in placeholders:
        plugins += list(placeholder.get_plugins().filter(plugin_type='PicturePlugin'))

    images = [p.image for p in plugins]