Silverstripe 3 / Tabset / 特殊字符 / 发行

Silverstripe 3 / Tabset / Special Chars / Issue

我正在扩展 SiteConfig 并创建一个新的 Tabset。我无法让它正常工作;在选项卡名称中使用特殊字符时,布局混乱。

我也用 _t('MyClass.MyMainTab','Public') 和德语-yml 尝试过,但没有成功。 (& Ouml 也没有成功;)

How can i use SpecialChars in tab names (Tabset - names)?

yml:

SiteConfig:
  extensions:
    - MyClass

我的班级:

class MyClass extends DataExtension{

    public function updateCMSFields(FieldList $fields){

        $set = new TabSet(
            'ÖffentlicherBereich',  // PROBLEM !!!!!
                new Tab(
                    'Einstellungen',
                        new LiteralField('Bla', 'Blabla')
                ),
                new Tab(
                    'OtherTab',
                        new LiteralField('Blabla', 'Bla')
                ),
                new Tab(
                    'AnotherTab',
                        new LiteralField('Blabla', 'Bla')
                )
        );

        $fields->addFieldToTab('Root.Main.Main',  $set);
    }
}

  1. 我会尝试使用 ->setTitle() 添加包含变音符号的标题,如果 表单域 ID 有变音符号问题。

  2. 直接将选项卡集添加到 Root 选项卡,因为它应该与 Root.Main

  3. 处于同一级别
  4. 使用 Tabset::create() 而不是 new Tabset() 进行菊花链连接(以及可能使用注入器)

修改后的、未经测试的代码:

$set = TabSet::create(
    'OpeningTimes',  // PROBLEM !!!!!
        Tab::create(
            'Einstellungen',
                new LiteralField('Bla', 'Blabla')
        ),
        Tab::create(
            'OtherTab',
                new LiteralField('Blabla', 'Bla')
        ),
        Tab::create(
            'AnotherTab',
                new LiteralField('Blabla', 'Bla')
        )
)->setTitle('Öffnungszeiten');

$fields->addFieldToTab('Root',  $set);