lewiscom / twigextensions
此包已废弃,不再维护。未建议替换包。
Twig 的实用扩展
1.2
2021-07-15 20:54 UTC
Requires
- php: >7.0
- craftcms/cms: ^3.0.0
- larapack/dd: ^1.1
This package is not auto-updated.
Last update: 2024-03-08 08:45:17 UTC
README
此模块为 Twig 添加了一些额外功能。
需求
此模块需要 Craft CMS 3.0.0-RC1 或更高版本。
安装
需要 composer 包
composer require lewiscom/twigextensions
将模块添加到 config/app.php
return [ 'modules' => [ 'twigextensions' => [ 'class' => lewiscom\twigextensions\TwigExtensionsModule::class ], ], 'bootstrap' => [ 'twigextensions' ], ];
设置
如果您需要根据环境禁用某些扩展,只需复制下面的配置文件,将其命名为 'twigextensions.php'
,并将其放置在您的 craft/config
文件夹中。在这里,它将遵循其他 craft 配置相同的环境规则。
<?php return [ // All environments '*' => [ 'disabled' => [ lewiscom\twigextensions\extensions\PhoneNumberExtension::class, ], ], 'production' => [ 'disabled' => [ lewiscom\twigextensions\extensions\DumpDieExtension::class, ], ], 'dev' => [ 'disabled' => [ lewiscom\twigextensions\extensions\RegExpExtension::class, ], ], ];
扩展
CaseExtension
添加各种大小写转换辅助函数
过滤器 | 输入 | 输出 | 描述 |
---|---|---|---|
camelCase | {{ 'camel-case-this-string'|camelCase }} |
camelCaseThisString |
将字符串转换为驼峰式 |
StudlyCase | {{ 'studly-case-this-string'|studlyCase }} |
StudlyCaseThisString |
将字符串转换为 Studly 或 Pascal 式 |
kebab-case | {{ 'studly-case-this-string'|kebabCase }} |
kebab-case-this-string |
将字符串转换为短横线式 |
DumpDieExtension
使 larapack/dd 函数在 twig 模板中可用
函数 | 输入 | 描述 |
---|---|---|
d | {{ d(variable) }} |
将变量输出 |
dd | {{ dd(variable) }} |
将变量输出并停止进一步执行 |
GlobalVariablesExtension
Twig 2.x 改变了变量的作用域方式,此扩展可以帮助恢复您可能不想导入到每个模板中的某些全局变量。您可以添加尽可能多的全局变量,并根据环境设置不同的值。
<?php return [ '*' => [ 'globals' => [ 'conf' => Craft::$app->config->getGeneral() ], ], ];
RelativeDateExtension
默认情况下,它将日期对象转换为相对于当前日期和时间的可读相对日期。
过滤器 | 输入 | 输出 | 描述 |
---|---|---|---|
relativeDate | `{{ entry.createdAt | relativeDate }}` | 2小时前 |
参数 | 描述 | 默认值 | 必需 |
---|---|---|---|
到 |
用于比较初始日期的日期 | false |
|
精度 |
读数所需的精度,增加数字会增加精度 | 1 |
|
后缀 |
后缀,设置为 false 以禁用 | 'ago' |
示例
{{ entry.createdAt|relativeDate }} 2 hours ago
{{ entry.createdAt|relativeDate(false, 3) }} 4 months, 3 weeks, 4 days ago
{{ entry.createdAt|relativeDate(futureDate, 1, 'from now') }} 4 days from now
RegExpExtension
添加各种正则表达式函数
函数 | 输入 | 输出 | 描述 |
---|---|---|---|
pregReplace | {{ pregReplace('test 123', '/\\D+/') }} |
123 |
使用 PHP 的 preg_replace 函数通过正则表达式进行搜索和替换 |
参数 | 描述 | 默认值 | 必需 |
---|---|---|---|
值 |
将要搜索的字符串 | - | ✔ |
模式 |
要使用的正则表达式模式。 注意 您必须转义反斜杠 | - | ✔ |
替换 |
匹配项将被替换为 | '' |
|
限制 |
最大匹配数 | -1 |
由 Lewis Communications 提供