hananils/kirby-choices 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

Kirby Choices

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 hananils/kirby-choices 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 22
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 18
  • 点击次数: 15
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 18
  • Watchers: 3
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-01-20