如何使用silverstripe-fluent翻译本机SiteConfig

时间:2018-10-04 15:09:04

标签: config silverstripe fluent silverstripe-4

我正在使用带有silverstripe-fluent模块的silverstripe 4。我无法翻译本机SiteConfig(站点名称和标语/标语)怎么办?

感谢您的帮助!

奥瑞莲

3 个答案:

答案 0 :(得分:1)

我有同样的问题。仅翻译特定变量。

解决了类似问题:

YML(config.yml)

SilverStripe\SiteConfig\SiteConfig:
  extensions:
  - Pixelparker\Extensions\SiteConfigExtension
  - TractorCow\Fluent\Extension\FluentExtension

SiteConfigExtension.php

private static $translate = [
    'CookieMessage'
];

就这样。

答案 1 :(得分:0)

已解决!
TractorCow\Fluent\Extension\FluentExtension中添加Silverstripe\SiteConfig\SiteConfig

---
Name: myproject
---
SilverStripe\Core\Manifest\ModuleManifest:
  project: app
Silverstripe\SiteConfig\SiteConfig:
  extensions:
    - TractorCow\Fluent\Extension\FluentExtension
    - CustomSiteConfig

并在配置扩展类中扩展FluentExtension而不是DataExtension

use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\HTMLEditor\HTMLEditorField;
use TractorCow\Fluent\Extension\FluentExtension;


class CustomSiteConfig extends FluentExtension
{

    private static $db = [
        'FooterContent' => 'HTMLText'
    ];

    public function updateCMSFields(FieldList $fields)
    {
        $fields->addFieldToTab("Root.Main",
            new HTMLEditorField("FooterContent", "Footer Content")
        );
        parent::updateCMSFields($fields);
    }
}

答案 2 :(得分:0)

如果您只想翻译SiteConfig的默认TitleTagline数据库字段,则可以应用Fluent扩展名并定义要在{ {1}}配置文件,如下所示:

.yml