Php TreeDropdownField Silverstripe 4导航标签

Php TreeDropdownField Silverstripe 4导航标签,php,silverstripe,silverstripe-4,Php,Silverstripe,Silverstripe 4,我在一个SilverStripe 4项目中使用TreeDropdownfield。在3.6中,默认情况下它得到了MenuTitle(导航标签),但我注意到在SilverStripe中显示了默认的页面标题 由于我的客户更改了页面标题,TreeDropdownField显示了长页面标题。我想显示导航标签而不是那些长的页面标题,因为这些长标题的结构不清楚 我有以下代码: <?php use SilverStripe\ORM\DataObject; use SilverStripe\CMS\Mo

我在一个SilverStripe 4项目中使用TreeDropdownfield。在3.6中,默认情况下它得到了MenuTitle(导航标签),但我注意到在SilverStripe中显示了默认的页面标题

由于我的客户更改了页面标题,TreeDropdownField显示了长页面标题。我想显示导航标签而不是那些长的页面标题,因为这些长标题的结构不清楚

我有以下代码:

<?php

use SilverStripe\ORM\DataObject;
use SilverStripe\CMS\Model\SiteTree;

use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\TextField;
use SilverStripe\Forms\TreeDropdownField;

class InternalLink extends DataObject {
    private static $db = [
        'Title'                 => 'Varchar',
    ];
    private static $has_one = [
        'LinkTarget'            => SiteTree::class,
        'InternalLinkCategory'  => 'InternalLinkCategory'
    ];

    public function getCMSFields() {
        $fields = parent::getCMSFields();

        $fields->addFieldToTab('Root.Main', TextField::create( 'Title', 'Titel link' ) );
        $fields->addFieldToTab('Root.Main', TreeDropdownField::create( 'LinkTargetID', 'Doeladres', SiteTree::class ) );

        return $fields;
    }
}

您可以使用
TreeDropdownField::setTitleField()
。它设置要用于项目标题的字段

$treeField = TreeDropdownField::create('LinkTargetID', 'Doeladres', SiteTree::class);
$treeField->setTitleField('MenuTitle');
$fields->addFieldToTab('Root.Main', $treeField);

您可以使用
TreeDropdownField::setTitleField()
。它设置要用于项目标题的字段

$treeField = TreeDropdownField::create('LinkTargetID', 'Doeladres', SiteTree::class);
$treeField->setTitleField('MenuTitle');
$fields->addFieldToTab('Root.Main', $treeField);

看起来我们用导航标签覆盖了标题,但它不适用于我,$fields->addFieldToTab('Root.Main',TreeDropdownField::create('LinkTargetID','Doeladres',SiteTree::class',ID','menutile');[(参见此处)看起来我们用导航标签覆盖了标题,但它对我不起作用,$fields->addFieldToTab('Root.Main',TreeDropdownField::create('LinkTargetID','Doeladres',SiteTree::class,'ID','menutile');[(参见此处)