Доброе утро,SilverStripe 3: removeByName не работает
Я пытался использовать метод removeByName и он не работает. Я в основном пытаюсь скрыть поле в своем DataObject в формах, созданных ModelAdmin, который управляет объектом.
См пример кода ниже:
///DataObject snippet...
class MyObject extends DataObject{
public static $db = array(
'Title' => 'Varchar',
'Desc' => 'Text',
'Template' => 'HTMLText',
);
//@Override
public function getCMSField(){
$fields = parent::getCMSField();
$fields->removeByName('Template'); /// DOESN'T WORK!!!
return $fields;
}
}//class
Примечание: Я не получаю никаких ошибок. Я просто все еще вижу поле в формах (Add and Edit), как обычно.
Любая помощь приветствуется, спасибо.
Пробовал ли вы именовать поле другим способом, например, «TemplateTest»? – g4b0
Нет, я не изначально. Я только что попробовал, и он все еще не работает. Он по-прежнему отображается в форме только с названием «Template Test». Спасибо за усилия, хотя любые другие идеи более чем приветствуются. – add
Если кто-то может сказать/показать мне, как отлаживать функцию getCMSField, например, делать var_dump в переменной $ fields, которая также была бы полезной. Благодарю. Я пробовал: Debug :: show ($ fields) [не работает] даже с строкой запроса url [? Debug = 1 & isDev = 1] добавлено. Я даже пытался умереть (var_dump ($ fields)), и я ничего не получаю. – add