octobercms - OctoberCMS 翻译 YAML 默认文本
问题描述
例如,我有一个可翻译的模型:
class Settings extends Model {
public $implement = [
'System.Behaviors.SettingsModel',
'RainLab.Translate.Behaviors.TranslatableModel'
];
public $settingsCode = 'zollerboy_customtheme_settings';
public $settingsFields = 'fields.yaml';
public $translatable = [
'site_name',
//I have a lot more here
];
}
我的fields.yaml
样子是这样的:
tabs:
fields:
site_name:
tab: Info
label: Website Name
type: text
# And so on ...
是否有可能,我为该字段site_name
提供每种语言的默认值?
我试过了
default: name.plugin::lang.settings.default.site_name
但这似乎只适用于标签,但不适用于默认值。
解决方案
是的,默认选项不适用于翻译,但您可以通过小部件表单显示此字段,在可视化方法中获取默认值。
public function render() {
$value= Lang::get('name.plugin::lang.settings.default.site_name');
return $this->makePartial('site_name', ['value' => $value, 'name' =>
'site_name']);
}
通过覆盖插件注册类中的 registerFormWidgets 方法来注册表单小部件。
public function registerFormWidgets() {
return [
'Name\Plugin\FormWidgets\SiteName' => 'site_name'
];
}
示例字段.yaml:
tabs:
fields:
site_name:
tab: Info
label: Website Name
type: site_name
# And so on ...
推荐阅读
- visual-studio - 带有 ExtJS 6.5.2 的 Cordova Windows 10 UWP 应用程序中的黑屏
- java - 如何在不复制/移动/编辑的情况下将外部非 Android Eclipse 库项目包含到 Android-Studio 项目中?
- css - 如何为从 svg 转换的自定义字体设置字体网格(宽 x 高)?
- javascript - Javascript使用动态变量制作数据结构
- c++ - CODE 未在 C++ 中执行
- dask - Dask groupby 和 apply :值错误预期轴有 6 个元素,新值有 5 个元素
- python - 来自 abc 模块的可散列抽象类
- ms-access - 如何自动为字段赋值?
- swift - 如何从 UIPageViewController 打开 View 并返回到 UIPageViewController
- ios - 为具有范围的 NSAttributedString 添加属性