amkdev / server-files

Craft CMS 插件,用于根据指定的网站根路径检索文件列表并提取文件信息。

安装: 6

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

类型:craft-plugin

1.0.0.0 2021-06-10 14:20 UTC

This package is auto-updated.

Last update: 2024-09-10 21:33:18 UTC


README

Plugin Icon: A folder with a list and character i.

Craft CMS 3.x 的服务器文件

根据指定的文件夹路径检索文件列表并提取文件信息(可选,目前仅支持 Exif 图像数据)

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并转到您的 Craft 项目目录
cd /path/to/project
  1. 然后让 Composer 加载插件
composer require amkdev/server-files
  1. 在控制面板中,转到设置 → 插件,然后点击“安装”按钮以安装 Server Files。

简介

这个小插件根据指定的文件夹路径检索文件列表。

如果您

  • 正在运行 Craft 3.1 或更高版本
  • 需要从您的 web 服务器上的文件夹中检索文件以及文件信息(由 Craft CMS 管理),并将输出返回到 Twig

示例

输出目录中的 jpg 文件及其 Exif 数据标题和说明

/uploads/images 目录中有 3 个图像文件

22 Apr 22:54 image01.jpg
22 Apr 22:54 image02.jpg
22 Apr 22:54 icon.gif

在我们的 Twig 模板中,我们设置变量并为服务器文件提供一个用于搜索的文件夹路径(必需)并定义(可选)我们需要的信息和正则表达式模式

{% set settings =
    {
        path: 'uploads/images',
        pattern: '*.jpg',
        info: 'exif[title,caption]'
    }
%}
{% set images = craft.serverfiles.config(settings) %}

{% for image in images %}
    <img src="{{ image.file }}" 
         alt="{{ image.name }}"  
         title="{{ image.info.exif.title }}" 
         data-caption="{{ image.info.exif.caption }}">
{% endfor %}

此外,您还可以使用 "full" {{ image.full }} 来获取文件的绝对路径。

此示例 Twig 代码将输出

<img src="/uploads/images/image01.jpg" 
     alt="image01.jpg" 
     title="Flower" 
     data-caption="A beautiful flower below the tree.">
<img src="/uploads/images/image02.jpg" 
     alt="image02.jpg" title="Tree" 
     data-caption="A tree in a field of flowers.">

如果配置的任何 Exif 信息都不存在,则返回空字符串。

免责声明

此插件免费提供,遵循 MIT 许可协议。作者不对插件使用过程中导致的数据丢失或问题负责。

特别感谢

此插件基于 You & Me Digital 的 GetFiles。感谢简单且易于使用的起点。

此外,此插件还使用了 Tom Van Herreweghe 的 PHPExif