hananils/kirby-choices
Composer 安装命令:
composer require hananils/kirby-choices
包简介
For any list field offering options in the blueprint, like select, multiselect or checkboxlist, Choices will load and return the readable text values for the keys stored in the content file. It works with static options directly set in the blueprint as well as dynamic ones loaded via query or api se
README 文档
README
Choices is a plugin for Kirby 3 that provides methods to manage field options in the frontend. For any field – like select, multiselect or checkboxlist – that offers options settings in the blueprint, this plugin will load and return the readable text values for the keys stored in the content file. It works with static options directly set in the blueprint as well as dynamic ones loaded via query or api settings.
Note
Please check out the online documentation at kirby.hananils.de/plugins/choices for further information.
Example
Field
fields: fruits: label: Fruits type: select options: apple: Apple pear: Pear banana: Banana
Content
Title: Choices example ---- Fruits: apple, pear
Template
// Return selected fruits: "Apple Pear" foreach ($page->fruits()->toChoices() as $fruit) { echo $fruit; } // Return selected fruits in flipped order: "Pear Apple" foreach ( $page ->fruits() ->toChoices() ->flip() as $fruit ) { echo $fruit; }
Installation
Download
Download and copy this repository to /site/plugins/choices.
Git submodule
git submodule add https://github.com/hananils/kirby-choices.git site/plugins/choices
Composer
composer require hananils/kirby-choices
Field methods
toChoices()
Converts the field value to a Choices collection featuring the text values of the selected options:
$page->fruits()->toChoices();
If the method is passed an optional value of true, it will return text values for all options specified in the blueprint:
$page->fruits()->toChoices(true);
Choices collection
The Choices collection can be used to loop over all given options and return their values. It offers all methods known to the default Kirby collection like first(), last(), shuffle(), sort() and the like. Additionally, it provides three methods to simplify content output:
join($separator)
The join method concatenates all field value by a given separator.
$separator: optional separator, uses,as default.
// Will return: Apple, Pear $page ->fruits() ->toChoices() ->join();
If you want to have more control on how to join values – e. g. to have the last item joined by and – have a look at the List methods plugin.
missing($required)
The missing method compare the current field values with an array of required values and return the missing ones.
$required: array of required values to be checked.
// Will return: Banana $page ->fruits() ->toChoices() ->missing(['Apple', 'Banana']);
average($decimals)
The average method will calculate the average of all selected value, useful when handling numeric values.
$decimals: the number of decimals to return.
License
This plugin is provided freely under the MIT license by hana+nils · Büro für Gestaltung.
We create visual designs for digital and analog media.
hananils/kirby-choices 适用场景与选型建议
hananils/kirby-choices 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 22 次下载、GitHub Stars 达 18, 最近一次更新时间为 2022 年 01 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 hananils/kirby-choices 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hananils/kirby-choices 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 22
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 18
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-01-20
