2012-08-15 8 views
9

Quiero agregar un campo a la pestaña existente "Configuración" de Editar vista de página (marcado en la captura de pantalla).silverstripe 3 addFieldToTab "Configuraciones"

yo probamos este:

$fields->addFieldToTab('Root.Settings', new TextField('Intro')); 

Pero simplemente añade una nueva pestaña junto a la pestaña secundaria "Contenido principal" que contiene el campo adicional.

Silverstripe Edid Page View

Respuesta

17

Para SilverStripe 3.0 se debe redefinir la función getSettingsFields() en su modelo, por ejemplo,

function getSettingsFields() { 
    $fields = parent::getSettingsFields(); 
    $fields->addFieldToTab("Root.Settings", new TextField('Intro')); 
    return $fields; 
} 

En SilverStripe 2.x esto se hace en la función getCMSFields().

+0

fresco! ¡eso funciono! ¡gracias! – spierala

2

Este método funcionó para mí:

public function updateSettingsFields(FieldList $fields) { 
    $fields->addFieldToTab("Root.MyNewSettingsSubTab", new TextField('Intro')); 
    return $fields; 
} 
+1

Solo vale la pena señalar que utilizaría este método si lo hace a través de '' 'DataExtension'''; sin embargo, si lo hace a través de una clase que se extiende desde' '' Page''', la primera respuesta es lo que utilizar. –

Cuestiones relacionadas