alpiiscky/yii2-multilang

处理 Habrahabr 文章的结果

安装: 39

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:yii2-extension

0.2 2018-01-23 06:33 UTC

This package is not auto-updated.

Last update: 2024-10-02 04:33:07 UTC


README

处理 Habrahabr 文章的结果 https://habrahabr.ru/post/226931/

解决了 URL 复制的问题。

mysite.ru
mysite.ru/ru 
mysite.ru/en

即,它们在访问 mysite.ru 时正确处理,默认语言下打开网站,mysite.ru/ru 将返回 404 错误(因为默认是 ru),而 mysite.ru/en 将打开英文版本网站。

安装

执行以下命令

composer require --prefer-dist alpiiscky/yii2-multilang "*"

或者在你的 composer.json 文件中 require 部分

"alpiiscky/yii2-multilang": "*"

添加

使用

根据以下步骤编辑 web.php

  1. components 部分添加
'request' => [
    'class' => 'alpiiscky\multilang\components\LangRequest',
    'cookieValidationKey' => '<your code>',
],
  1. urlManager 中添加
'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'class'=>'alpiiscky\multilang\components\LangUrlManager',
    'rules' => [
        '/' => 'site/index',
        '<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
    ]

迁移

php yii migrate --migrationPath=vendor/alpiiscky/yii2-multilang/migrations/

语言选择小部件

<?= \alpiiscky\multilang\widgets\LanguageWidget::widget([]); ?>

创建 URL

<?php
use alpiiscky\multilang\helpers\Url;
use alpiiscky\multilang\models\Language;

$current_lang = Language::getCurrent();
?>


<?= Url::toLang('/book', ['lang_id' => $current_lang->id]) ?>