newism/craft3-money 问题修复 & 功能扩展

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

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

newism/craft3-money

Composer 安装命令:

composer require newism/craft3-money

包简介

Money Fieldtype for CraftCMS v3

README 文档

README

in action

site settings

Requirements

This plugin requires Craft CMS 3.5.0 or later.

Installation

To install the plugin, follow these instructions.

  1. Open your terminal and go to your Craft project:
$ cd /path/to/project
  1. Then tell Composer to load the plugin:
$ composer require newism/craft3-money
  1. In the Control Panel, go to Settings → Plugins and click the “Install” button for Money or run
$ ./craft plugin/install money

Money Overview

Money is a custom field type and formatter that uses the moneyphp/money library. Values are stored as json in the database and normalized as a Money Value Object.

Currencies are loaded from the moneyphp/money library. A full list can be found here: https://github.com/moneyphp/money/blob/master/resources/currency.php

This plugin also loads in symfony/intl for currency names.

Configuring Money

Money has two levels of configuration:

  • Site settings using a config file or plugin settings
  • Field settings

Note: Field settings are appended to Site settings.

The two settings are:

  • Preferred currencies: These currencies are displayed first in the currency drop down.
  • Excluded currencies: These currencies are excluded from the currency drop down.

Both settings accept a comma delimited list of alphabetical currency codes.

It's recommended that you exclude the following currencies: XBA, XBB, XBC, XBD, XTS, XXX, XAU, XPD, XPT, XAG

To use a config file see ./src/config.php.

Using Money

This plugin includes a service for rendering the field value.

Note: In the three methods below value must be an instance of Money. The examples use the 'Elvis Operator'.

International formatter

{{ value ? craft.money.intlFormatter.format(value) }}

# or explicitly define the locale
{{ value ? craft.money.getIntlFormatter(locale).format(value) }}

The intlFormatter returns a [IntlMoneyFormatter](http://moneyphp.org/en/stable/features/formatting.html#intl-money-formatter) object. This formatter requires the intl extension.

Calling .format() will return a string with the currency symbol in a format that matches locale. Separators will also match the locale.

locale is an optional parameter and falls back to the locale defined by Craft: \Craft::$app->locale->id

See: http://moneyphp.org/en/stable/features/formatting.html#intl-money-formatter

International Decimal Formatter

{{ value ? craft.money.intlDecimalFormatter.format(value) }}

# or explicitly define the locale
{{ value ? craft.money.getIntlDecimalFormatter(locale).format(value) }}

Outputs the same as above without the currency symbol.

See: http://moneyphp.org/en/stable/features/formatting.html#intl-decimal-formatter

Decimal Formatter

{{ value ? craft.money.decimalFormatter.format(value) }}

This formatter outputs a simple decimal string which is always in a consistent format independent of locale.

Money Roadmap

Some things to do, and ideas for potential features:

  • Test multiple versions of PHP
  • Review the usage of symfony/intl for currency names
  • Write tests
  • Check GraphQL output
  • Add localised strings for plugin ui
  • Release it

Credits

Brought to you by Newism

newism/craft3-money 适用场景与选型建议

newism/craft3-money 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 04 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「cms」 「money」 「Craft」 「craftcms」 「craft-plugin」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 newism/craft3-money 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 newism/craft3-money 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-07