alpiiscky / yii2-multilang
处理 Habrahabr 文章的结果
0.2
2018-01-23 06:33 UTC
Requires
- yiisoft/yii2: *
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
- 在
components
部分添加
'request' => [
'class' => 'alpiiscky\multilang\components\LangRequest',
'cookieValidationKey' => '<your code>',
],
- 在
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]) ?>