Silverstripe 3 / Tabset / Special Chars / Issue

时间:2017-02-07 16:52:56

标签: tabs special-characters silverstripe

我正在扩展SiteConfig并创建一个新的Tabset。我不能让它正常工作;当在tabnames中使用特殊字符时,布局会混淆。

我也尝试过_t(' MyClass.MyMainTab',#39; Public')和德语-ml没有成功。 (并且& Ouml也没有成功;)

  

如何在标签名称(Tabset - 名称)中使用SpecialChars?

YML:

SiteConfig:
  extensions:
    - MyClass

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);
    }
}

enter image description here

1 个答案:

答案 0 :(得分:3)

  1. 我尝试使用->setTitle()添加包含Umlauts的标题 表格域ID与变音符号有问题。

  2. 直接将标签集添加到Root标签,因为它应与Root.Main

  3. 处于同一级别
  4. 使用Tabset::create()代替new Tabset()进行菊花链(并可能使用Injector)

  5. 经过修改的未经测试的代码:

    $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);