我正在嘗試在Silverstripe CMS中創建一個新的菜單項。我還是不明白。我不知道我做錯了什麼。這是關於Silverstripe 3.6。在Silverstripe CMS中添加新的菜單項
我也試過「/ dev/build」和「dev/build?flush = 1」。但沒有結果。
Footerinfos.php(mysite的/代碼/)
class FooterInfos extends ModelAdmin {
public static $managed_models = array('FooterInfo');
static $url_segment = 'footerinfo';
static $menu_icon = 'framework/admin/images/menu-icons/network.png';
static $menu_title = 'Footer';
}
Footerinfo.php(mysite的/代碼/)
class FooterInfo extends DataExtension {
static $db = array(
'FooterHead1' => 'Varchar(255)',
'FooterHead2' => 'Varchar(255)',
'FooterHead3' => 'Varchar(255)',
'FooterText1' => 'HTMLText',
'FooterText2' => 'HTMLText',
'FooterText3' => 'HTMLText',
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root', new TabSet('Footer'));
$fields->addFieldToTab('Root.Footer', new TextField('FooterHead1', 'Footer - Kop 1'));
$fields->addFieldToTab('Root.Footer', $h1=new HTMLEditorField('FooterText1', 'Footer - Tekst 1'));
$fields->addFieldToTab('Root.Footer', new TextField('FooterHead2', 'Footer - Kop 2'));
$fields->addFieldToTab('Root.Footer', $h2=new HTMLEditorField('FooterText2', 'Footer - Tekst 2'));
$fields->addFieldToTab('Root.Footer', new TextField('FooterHead3', 'Footer - Kop 3'));
$fields->addFieldToTab('Root.Footer', $h3=new HTMLEditorField('FooterText3', 'Footer - Tekst 3'));
$h1->setRows(7);
$h2->setRows(7);
$h3->setRows(7);
return $fields;
}
}
更新14:53U:
它具有現在可以創建一個菜單項。 只有我不知道這些字段是否可以立即顯示,而不是選擇菜單。因此,與「設置」菜單一樣,這些字段將立即顯示。
我不能馬上看到字段。只有一個ID列表。如果您點擊該ID,則只能看到這些字段。這不是這個意圖。它一定是所有的領域馬上。因爲不超過1個頁腳。
我已經翻譯一下代碼成我的語言;)
Voettekst.php
class VoetTekst extends DataObject {
static $db = array(
'VoetKop1' => 'Varchar(255)',
'VoetKop2' => 'Varchar(255)',
'VoetKop3' => 'Varchar(255)',
'VoetTekst1' => 'HTMLText',
'VoetTekst2' => 'HTMLText',
'VoetTekst3' => 'HTMLText',
);
public function getCMSFields() {
return FieldList::create(
TextField::create('VoetKop1', 'Footer - Kop 1'),
HTMLEditorField::create('VoetTekst1', 'Footer - Tekst 1')->setRows(7),
TextField::create('VoetKop2', 'Footer - Kop 2'),
HTMLEditorField::create('VoetTekst2', 'Footer - Tekst 2')->setRows(7),
TextField::create('VoetKop3', 'Footer - Kop 3'),
HTMLEditorField::create('VoetTekst3', 'Footer - Tekst 3')->setRows(7)
);
}
}
VoettekstAdmin.php
class VoettekstAdmin extends ModelAdmin {
private static $managed_models = array('Voettekst');
private static $url_segment = 'voettekst';
private static $menu_icon = 'framework/admin/images/menu-icons/16x16/network.png';
private static $menu_title = 'Voettekst';
}
截圖:
@Simon Erkelens對你的DataObject也是正確的......但我不認爲這是你的主要問題... –
This Works!只有我想知道這些字段是否可以立即顯示,而不是選擇菜單。因此,與「設置」菜單一樣,這些字段將立即顯示。 – WillieBoy
是的,一旦你點擊左邊(CMS內部)的腳註鏈接/選項卡(modeladmin),你應該立即看到所有6個字段。我不相信你應該爲它們創建一個標籤,除非你開始添加越來越多,並且需要開始將它們分離到不同的標籤中,這樣你的用戶就可以更容易地知道去哪裏編輯東西。 –