Silverstripe CMSで新しいメニュー項目を作成しようとしています。私はまだそれを取得しません。私は何が悪いのか分からない。 Silverstripe 3.6についてです。Silverstripe CMSで新しいメニュー項目を追加する
「/ dev/build」と「dev/build?flush = 1」を試しました。しかし、結果はありません。
Footerinfos.php(個人用サイト/コード/)
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(個人用サイト/コード/)
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について正しいですが、これはあなたの主な質問ではないと思います... –
これは機能します!選択メニューの代わりにこれらのフィールドにすぐに表示されるかどうかは疑問です。設定メニューでも同じように、フィールドはすぐに表示されます。 – WillieBoy
はい、左側の(CMS内の)フッターリンク/タブをクリックすると(modeladmin)、すぐに6つのフィールドがすべて表示されます。私はあなたがタブを作成する必要があると信じていません。あなたが何かを追加し始めてから別のタブに分割しなければ、ユーザーはどこで編集するのかを簡単に知ることができます。 –