我正在设置一个SS项目,并希望使用silverstripe流利的插件(https://github.com/tractorcow-farm/silverstripe-fluent)添加基于URL的语言环境(.my-btn {
background-color: white;
color: #2b526d;
border-color: #2b526d;
margin-right: 0px;
margin-left: 0px;
}
.my-btn:hover {
background-color: white!important;
color: #dd3049;
border-color: #dd3049;
opacity: 1 !important;
}
,/en
等)。我已经成功安装了它,可以使用cms添加语言环境,但是可翻译字段仅适用于主要内容。如何使其他小部件和数据对象也可翻译?
我已尝试通过遵循github文档并执行下面列出的内容来使其适用于Widget。
mysite.yml
/gb
widget.php或contentwidget.php中的PHP
Silverstripe\SiteConfig\SiteConfig:
extensions:
- TCM\SiteConfig\Extensions\LdaUrlExtension
- TractorCow\Fluent\Extension\FluentExtension
SiteTree:
extensions:
- TractorCow\Fluent\Extension\FluentFilteredExtension
Widget:
extensions:
- TractorCow\Fluent\Extension\FluentVersionedExtension
translate:
- HTMLTitle
- HTMLContent
ContentWidget:
extensions:
- TractorCow\Fluent\Extension\FluentVersionedExtension
translate:
- HTMLTitle
- HTMLContent
Page:
translate:
- 'Heading'
- 'Description'
---
Name: myfluentconfig
---
TractorCow\Fluent\Extension\FluentDirectorExtension:
disable_default_prefix: false
---
Name: fluentfieldconfig
---
TractorCow\Fluent\Extension\FluentExtension:
field_include:
- Varchar(100)
- DBHTMLText
- HTMLTitle
- HTMLContent
我希望这些使我的内容窗口小部件字段也可翻译,但不幸的是,所有区域设置的窗口小部件内容仍然相同。
我还确保执行private static $db = array(
'HTMLTitle' => 'HTMLVarchar',
'HTMLContent' => 'HTMLText',
'PreviewBgImg' => 'HTMLText',
'TextPosition' => 'Varchar(6)',
'TextColour' => 'Varchar(5)',
'BackgroundColour' => 'Varchar(5)'
);
private static $translate = [
'HTMLTitle',
'HTMLText',
'HTMLContent'
];
并手动清除dev/build?flush=all
文件夹中的内容。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:2)
在SS4中,您需要FQCN(完全限定的类名)进行配置,该类名包括完整的名称空间。这应该在您的配置中起作用:
SilverStripe\Widgets\Model\Widget:
extensions:
- TractorCow\Fluent\Extension\FluentVersionedExtension
translate:
- HTMLTitle
- HTMLContent
类似于ContentWidget