sbs/yii2-transliterator-helper

Yii 2 框架的转写辅助工具

安装: 669

依赖: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 13

公开问题: 0

类型:yii2-extension

0.3.3 2019-05-23 16:07 UTC

This package is auto-updated.

Last update: 2024-09-24 03:38:57 UTC


README

Build Status

Transliterator Helper 将UTF-8编码的文本转换为US-ASCII。

安装

安装此扩展的首选方式是通过 composer

可以运行

composer require sbs/yii2-transliterator-helper

或者将以下内容添加到应用程序的 composer.json 文件的require部分。

"sbs/yii2-transliterator-helper": "*"

用法

将希望转写的UTF-8编码字符串传递给 process() 方法

use sbs\helpers\TransliteratorHelper;

// will echo AAAAAAAECEEEEIIIIDNOOOOOUUUUYssaaaaaaaeceeeeiiiidnooooouuuuyy
TransliteratorHelper::process('ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ', 'en'));

可以将其用作应用程序行为

use sbs\behaviors\SlugBehavior;

//...
public function behaviors()
{
    return [
        //...
        [
            'class' => SlugBehavior::class,
            'attribute' => 'title',
            'slugAttribute' => 'slug',
        ],
    ];
}

从版本0.3开始,您可以使用SlugInput小部件

配置

您需要在主配置文件中的 controllerMap 部分创建一个注册控制器

use sbs\controllers\TransliterationController;

//...
'controllerMap' => [
    'transliteration' => [
        'class' => TransliterationController::class,
        'lowercase' => false //provides transliteration to lower case, true by default.
    ]
],
//...

就像小部件一样

use sbs\widgets\SlugInput;

echo SlugInput::widget([
    'name' => 'News[slug]',
    'sourceName' => 'News[title]'
]);

就像ActiveForm小部件一样

use sbs\widgets\SlugInput;

echo $form->field($model, 'slug')->widget(SlugInput::class, [
    'sourceAttribute' => 'title'
]);

就这么多。享受吧。