lewiscom/twigextensions

此包已废弃,不再维护。未建议替换包。

Twig 的实用扩展

1.2 2021-07-15 20:54 UTC

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 提供