jakharbek/yii2-langs

语言

安装: 664

依赖: 2

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 1

公开问题: 0

类型:yii2-extension

3.0 2019-01-31 08:36 UTC

This package is not auto-updated.

Last update: 2024-09-20 20:47:26 UTC


README

语言

安装

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

运行以下命令之一

php composer.phar require --prefer-dist jakharbek/yii2-langs "*"

或将以下内容添加到您的 composer.json 文件的 require 部分。

"jakharbek/yii2-langs": "*"

使用方法

在此处执行迁移

yii migrate --migrationPath=@vendor/jakharbek/yii2-langs/src/migrations

在后台部分添加此代码

    'on beforeAction' => function () {
        jakharbek\langs\components\Lang::onRequestHandler();
    },

扩展安装完成后,只需在您的代码中使用它即可

您需要在模型(数据库中的表)中为翻译创建字段 [[lang]] 和字段 [[lang_hash]],然后将行为添加到模型 ActiveRecord

jakharbek\langs\components\ModelBehavior 

示例


'lang' => [
           'class' => ModelBehavior::className(),
          ],
          

视图

要在页面上使用已翻译的内容,您需要引入   小部件

\jakharbek\langs\widgets\LangsWidgets::widget();

  此小部件有两种工作模式:单模式和多种模式。   当您指定要翻译的模型属性时

\jakharbek\langs\widgets\LangsWidgets::widget(['model_db' => $model,'create_url' => '/url/to/create/']);

  则它是孤立的,如果您没有指定 model_db,则它将在多种模式下工作

如果需要考虑请求中的当前语言,则可以使用行为

\jakharbek\langs\components\QueryBehavior

应用行为后,您现在可以像以下示例一样使用它

YourModel::find()->lang()->...