tiny-pixel / fields-composer
简化了将ACF值处理到Sage 10视图编辑器的过程
dev-master
2019-07-14 21:42 UTC
Requires
- php: >=7.3
This package is auto-updated.
Last update: 2024-09-15 04:21:04 UTC
README
Fields Composer 是一个针对 Sage 10 设计的包。它为 Sage 视图编辑器提供缓存的高级自定义字段数据。
要求
Sage >= 10.0
PHP >= 7.3
安装
通过 composer 安装
composer require tiny-pixel/fields-composer
用法
在 app/Composers
中创建一个新的视图编辑器,该编辑器扩展 TinyPixel\FieldsComposer\FieldsComposer
<?php namespace App\Composers; use \TinyPixel\FieldsComposer\FieldsComposer; use \Illuminate\View\View; class FieldsComposerDemo extends FieldComposer { // ... }
这工作方式与普通 Sage 编辑器完全相同,但具有对高级自定义字段的内置支持,并利用 Laravel 的 Cache 门面。
您可以使用 $this->fields()
访问字段,并设置字段缓存的过期时间,如下所示
// ... /** * Expiration time of cache in seconds * * @var int */ public $cacheExpiry = 3600; /** * Data to be passed to view before rendering. * * @param array $data * @param \Illuminate\View\View $view * @return array */ public function with($data, $view) { return $data = [ 'myFields' => $this->fields(), 'myGroup' => $this->fields('myGroup'), 'myItem' => $this->fields('myGroup')->item, 'mySubItem' => $this->fields('myGroup')->item['subItem'], ]; } //...
配置
默认情况下,字段使用文件系统策略缓存到 storage/framework/cache/data
,但您可以在 config/cache.php
中更改它(如果您想利用数据库、memcached、redis 等)。此文件应在安装时已复制到您的项目中。
注意
目前,此插件在发布、编辑、删除任何内容时都会清空 Laravel 缓存。即使缓存在视图编辑器中设置为 0,也是如此。如果您在应用程序的其他地方使用 Illuminate 缓存,请注意这一点。