phact CMF 的 Lang 模块

v2.0.1 2019-01-26 13:12 UTC

This package is auto-updated.

Last update: 2024-09-27 02:01:20 UTC


README

简短描述

添加描述多语言 CharField, TextField 的功能。

LangCharField, LangTextField 是虚拟字段,它们会为模型创建真实字段,后缀为 "_ru", "_en",对应不同的语言。语言描述是为组件定义的。

使用示例

组件描述示例

'lang' => [
    'class' => \Modules\Lang\Components\Lang::class,
    'langs' => ['ru', 'en'],
    'primaryLang' => 'ru'
],

字段描述示例

...
'name' => [
    'class' => LangCharField::class,
    'label' => 'Name',
    'primaryNull' => true,
    'secondaryNull' => true
],
...

遍历模型中创建的所有字段

$nameField = $model->getField('name');
foreach ($nameField->getFieldsNames() as $name) {
    $model->{$name} = "";
}

在模板/代码中输出当前语言字段的值

$model->name
{$model->name}