art-and-flywork / kirby.plugin.fieldset
面板字段,加载字段集并将值存储在单个字段中,格式为yaml
0.0.1
2020-09-14 09:22 UTC
Requires
This package is auto-updated.
Last update: 2024-09-19 04:44:52 UTC
README
面板字段,加载字段集并将值存储在单个字段中,格式为yaml。
这就像是一个扩展,但不同之处在于所有来自字段集字段的值都存储在单个字段中。这样,您可以重复使用字段集并将其绑定到片段: snippet('mySnippet', $page->the_fieldset()->yaml())
用法
创建一个带有字段集的蓝图
site/blueprints/fieldsets/somefields.yml
type: group
fields:
title:
type: text
label: A nice title
text:
type: textarea
label: Type your text here
type: group
对于此插件工作不是必需的,但它会在需要时使其作为标准的kirby字段扩展工作。
在您的页面yml中添加字段集字段,并将其指向字段集蓝图
site/blueprints/pages/default.yml
fields:
myfields:
type: fieldset
blueprint: fieldsets/somefields
label: Show me my fields
在面板中,somefields.yml中的字段被加载到字段集字段中
数据以yaml格式存储在txt文件中
----
Myfields:
title: This is my title
text: This is my text
在模板中使用值
有2种简单的方式可以访问存储在字段集字段中的值。有一个提供的链式方法或它可以用本地的yaml方法解码,甚至可以传递
1. 使用提供的字段方法
该插件引入了一个字段方法,以便将值作为常规链式kirby字段访问
<h1><?= $page->myfields()->fieldset()->title() ?></h1>
<?= $page->myfields()->fieldset()->text()->kirbytext() ?>
2. 手动解码yaml
在模板中,数据可以通过yaml解码作为数组访问
default.php
<?php foreach ($page->myfields()->yaml() as $key => $value): ?>
<p><?= $key ?> – <?= $value ?></p>
<?php endforeach ?>
解码后,值可以直接传递到片段中
<?php snippet('mySnippet', $page->myfields()->yaml()) ?>
site/snippets/mySnippet.php
<h2><?= $title ?></h2>
<?= kirbytext($text) ?>
许可
[MIT