buzzingpixel / filecontent
为您的CraftCMS网站添加平面文件内容功能
Requires
- php: >=7.0.0
- craftcms/cms: ^3.0.0-beta.29
- mnapoli/front-yaml: ^1.5
- roave/security-advisories: dev-master
- symfony/filesystem: ^2.7 || ^3.0
This package is auto-updated.
Last update: 2024-09-16 19:23:50 UTC
README
为您的CraftCMS网站添加平面文件内容功能
一个Craft 3插件,用于添加获取平面文件内容的Twig变量。
安装
composer require buzzingpixel/filecontent
配置
有一个全局可配置选项:basePath
。这告诉插件在哪里查找文件内容。默认情况下,它查找在CRAFT_BASE_PATH . '/fileContent'
。
用法
load
示例
{% set pageContent = craft.filecontent.load('my/custom/path') %}
如果my/custom/path
是一个目录,将递归搜索该目录中的.md
文件、.json
文件和.php
文件。这些文件的解析内容将被添加到一个数组中,以文件名为键。
如果my/custom/path.md
存在,将解析该文件的內容并返回。
如果my/custom/path.json
存在,将解析该文件的內容并返回。
如果my/custom/path.php
存在,将解析该文件的內容并返回。
Markdown文件通过Yaml前缀解析器进行解析。Markdown文件的內容部分放置在一个名为'content'的数组键中。
JSON文件按预期解析。
PHP文件必须返回一个数组。
loadListings
示例
{% set blogIndex = craft.filecontent.loadListings('my/custom/path', { offset: 10, limit: 10, sort: 'asc' }) %}
加载并返回指定目录中的所有文件。文件名格式如下:2015-10-26--04-00-pm--my-post-slug.md
。
.json
和.php
也接受。
如果在目录中找到index.md
、index.json
和index.php
,它们的内容将添加到键meta
中,并且不计入计数、限制和偏移。
loadListingBySlug
示例
{% set blogPost = craft.filecontent.loadListingBySlug('my/custom/path', 'my-slug') %}
通过slug获取文件内容。
readFileContents
示例
{% set criticalCss = craft.filecontent.readFileContents(cricitalCssPath)|raw %}
读取任何文件的原始文本内容。由于这与平面文件内容功能无关,因此它不会查看配置的基本路径,而是默认为$_SERVER['DOCUMENT_ROOT']
。您可以选择指定第二个参数作为基本路径。
许可证
版权所有 2017 BuzzingPixel, LLC
根据Apache许可证版本2.0(“许可证”)授权;除非根据适用法律或书面同意,否则不得使用此文件,除非遵守许可证。您可以在https://apache.ac.cn/licenses/LICENSE-2.0获取许可证副本。
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言管理权限和限制,请参阅许可证。