TinyMCEConfig deprecated
class TinyMCEConfig extends HTMLEditorConfig implements i18nEntityProvider (View source)
deprecated
Default configuration for HtmlEditor specific to tinymce
Traits
Provides extensions to this object to integrate it with standard config API methods.
A class that can be instantiated or replaced via DI
Config options
| default_config | string | Name of default config. This will be ignored if $current is assigned a value.  | 
                from HTMLEditorConfig | 
| user_themes | array | List of themes defined for the frontend  | 
                from HTMLEditorConfig | 
| tinymce_lang | array | Map of locales to tinymce's supported languages  | 
                |
| base_dir | string | Location of module relative to BASE_DIR. This must contain the following dirs 
  | 
                |
| lang_dir | string | Location of tinymce translation files relative to BASE_DIR.  | 
                |
| editor_css | array | Extra editor.css file paths.  | 
                |
| image_size_presets | array[] | List of image size preset that will appear when you select an image. Each preset can have the following: 
  | 
                |
| default_options | array | Default TinyMCE JS options which apply to all new configurations.  | 
                
Properties
| protected static | HTMLEditorConfig[] | $configs | Array of registered configurations  | 
                from HTMLEditorConfig | 
| protected static | string | $current | Identifier key of current config. This will match an array key in $configs.  | 
                from HTMLEditorConfig | 
| protected static | array | $current_themes | List of the current themes set for this config  | 
                from HTMLEditorConfig | 
| protected | string[]|null | $contentCSS | List of content css files to use for this instance, or null to default to editor_css config.  | 
                |
| protected | $settings | |||
| protected | array | $plugins | Holder list of enabled plugins  | 
                |
| protected | string | $theme | Theme name  | 
                |
| protected | array | $buttons | Holder list of buttons, organised by line. This array is 1-based indexed array  | 
                
Methods
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
Gets the uninherited value for the given config option
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Get the HTMLEditorConfig object for the given identifier. This is a correct way to get an HTMLEditorConfig instance - do not call 'new'
Assign a new config, or clear existing, for the given identifier
Gets the current themes, if it is not set this will fallback to config
Set the currently active configuration object. Note that the existing active config will not be renamed to the new identifier.
Get the currently active configuration identifier. Will fall back to default_config if unassigned.
Get the available configurations as a map of friendly_name to configuration name.
Set multiple options. This does not merge recursively, but only at the top level.
Associative array of data-attributes to apply to the underlying text-area
Provide additional schema data for the field this object configures
Enable one or several plugins. Will maintain unique list if already enabled plugin is re-passed. If passed in as a map of plugin-name to path, the plugin will be loaded by tinymce.PluginManager.load() instead of through tinyMCE.init().
Enable one or several plugins. Will properly handle being passed a plugin that is already disabled
Get list of plugins without custom locations, which is the set of plugins which can be loaded via the standard plugin path, and could potentially be minified
Internal function for adding and removing buttons related to another button
Insert buttons before the first occurrence of another button
Insert buttons after the first occurrence of another button
Generate the JavaScript that will set TinyMCE's configuration:
- Parse all configurations into JSON objects to be used in JavaScript
 - Includes TinyMCE and configurations using the Requirements system
 
Set explicit set of CSS resources to use for content_css option.
Generate gzipped TinyMCE configuration including plugins and languages.
Get the URL for the language pack of the current language
Returns the full filesystem path to TinyMCE resources (which could be different from the original tinymce location in the module).
Get resource root for TinyMCE, either as a string or ModuleResource instance Path will be relative to BASE_PATH if string.
Sets the upload folder name used by the insert media dialog
Details
        
                static            Config_ForClass
    config()
        
    
    Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).
        
                            mixed
    uninherited(string $name)
        
    
    Gets the uninherited value for the given config option
        
                static            Injectable
    create(mixed ...$args)
        
    
    An implementation of the factory method, allows you to create an instance of a class
This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();
        
                static            Injectable
    singleton(string $class = null)
        
    
    Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
        
                static            HTMLEditorConfig
    get(string $identifier = null)
        
    
    Get the HTMLEditorConfig object for the given identifier. This is a correct way to get an HTMLEditorConfig instance - do not call 'new'
        
                static            HTMLEditorConfig
    set_config(string $identifier, HTMLEditorConfig $config = null)
        
    
    Assign a new config, or clear existing, for the given identifier
        
                static            array
    getThemes()
        
    
    Gets the current themes, if it is not set this will fallback to config
        
                static            
    setThemes(array $themes)
        
    
    Sets the current theme
        
                static            
    set_active_identifier(string $identifier)
        
    
    Set the currently active configuration object. Note that the existing active config will not be renamed to the new identifier.
        
                static            string
    get_active_identifier()
        
    
    Get the currently active configuration identifier. Will fall back to default_config if unassigned.
        
                static            HTMLEditorConfig
    get_active()
        
    
    Get the currently active configuration object
        
                static            HTMLEditorConfig
    set_active(HTMLEditorConfig $config)
        
    
    Assigns the currently active config an explicit instance
        
                static            array
    get_available_configs_map()
        
    
    Get the available configurations as a map of friendly_name to configuration name.
        
                            mixed
    getOption(string $key)
        
    
    Get the current value of an option
        
                            $this
    setOption(string $key, mixed $value)
        
    
    Set the value of one option
        
                            $this
    setOptions(array $options)
        
    
    Set multiple options. This does not merge recursively, but only at the top level.
        
                            array
    getAttributes()
        
    
    Associative array of data-attributes to apply to the underlying text-area
        
                            
    init()
        
    
    Initialise the editor on the client side
        
                            array
    getConfigSchemaData()
        
    
    Provide additional schema data for the field this object configures
        
                            
    __construct()
        
    
    No description
        
                            string
    getTheme()
        
    
    Get the theme
        
                            $this
    setTheme(string $theme)
        
    
    Set the theme name
        
                    protected        array
    getSettings()
        
    
    Get all settings
        
                            $this
    enablePlugins(string|array $plugin)
        
    
    Enable one or several plugins. Will maintain unique list if already enabled plugin is re-passed. If passed in as a map of plugin-name to path, the plugin will be loaded by tinymce.PluginManager.load() instead of through tinyMCE.init().
Keep in mind that these externals plugins require a dash-prefix in their name.
        
                            $this
    disablePlugins(string|array $plugin)
        
    
    Enable one or several plugins. Will properly handle being passed a plugin that is already disabled
        
                            array
    getPlugins()
        
    
    Gets the list of all enabled plugins as an associative array.
Array keys are the plugin names, and values are potentially the plugin location, or ModuleResource object
        
                            array
    getInternalPlugins()
        
    
    Get list of plugins without custom locations, which is the set of plugins which can be loaded via the standard plugin path, and could potentially be minified
        
                            array
    getButtons()
        
    
    Get all button rows, skipping empty rows
        
                            $this
    setButtonsForLine(int $line, $buttons)
        
    
    Totally re-set the buttons on a given line
        
                            $this
    addButtonsToLine(int $line, string $buttons)
        
    
    Add buttons to the end of a line
        
                    protected        bool
    modifyButtons(string $name, int $offset, int $del = 0, mixed $add = null)
        
    
    Internal function for adding and removing buttons related to another button
        
                            bool
    insertButtonsBefore(string $before, string $buttons)
        
    
    Insert buttons before the first occurrence of another button
        
                            bool
    insertButtonsAfter(string $after, string $buttons)
        
    
    Insert buttons after the first occurrence of another button
        
                            
    removeButtons($buttons)
        
    
    Remove the first occurrence of buttons
        
                    protected        array
    getConfig()
        
    
    Generate the JavaScript that will set TinyMCE's configuration:
- Parse all configurations into JSON objects to be used in JavaScript
 - Includes TinyMCE and configurations using the Requirements system
 
        
                    protected        array
    getEditorCSS()
        
    
    Get location of all editor.css files.
All resource specifiers are resolved to urls.
        
                            string[]
    getContentCSS()
        
    
    Get list of resource paths to css files.
Will default to editor_css config, as well as any themed editor.css files.
Use setContentCSS() to override.
        
                            $this
    setContentCSS(string[] $css)
        
    
    Set explicit set of CSS resources to use for content_css option.
Note: If merging with default paths, you should call getContentCSS() and merge prior to assignment.
        
                            string
    getScriptURL()
        
    
    Generate gzipped TinyMCE configuration including plugins and languages.
This ends up "pre-loading" TinyMCE bundled with the required plugins so that multiple HTTP requests on the client don't need to be made.
        
                static            string
    get_tinymce_lang()
        
    
    Get the current tinyMCE language
        
                static            string
    get_tinymce_lang_url()
        
    
    Get the URL for the language pack of the current language
        
                            string
    getTinyMCEResourcePath()
        
    
    Returns the full filesystem path to TinyMCE resources (which could be different from the original tinymce location in the module).
Path will be absolute.
        
                            string
    getTinyMCEResourceURL()
        
    
    Get front-end url to tinymce resources
        
                            ModuleResource|string
    getTinyMCEResource()
        
    
    Get resource root for TinyMCE, either as a string or ModuleResource instance Path will be relative to BASE_PATH if string.
        
                            TinyMCEConfig
    setFolderName(string $folderName)
        
    
    Sets the upload folder name used by the insert media dialog
        
                            array
    provideI18nEntities()
        
    
    Returns the list of provided translations for this object.
Note: Pluralised forms are always returned in array format.
Example usage:
class MyTestClass implements i18nEntityProvider
{
  public function provideI18nEntities()
  {
    $entities = [];
    foreach($this->config()->get('my_static_array') as $key => $value) {
      $entities["MyTestClass.my_static_array_{$key}"] = $value;
    }
    $entities["MyTestClass.PLURALS"] = [
      'one' => 'A test class',
      'other' => '{count} test classes',
    ]
    return $entities;
  }
}
Example usage in DataObject->provideI18nEntities().
You can ask textcollector to add the provided entity to a different module. Simply wrap the returned value for any item in an array with the format: [ 'default' => $defaultValue, 'module' => $module ]
class MyTestClass implements i18nEntityProvider
{
  public function provideI18nEntities()
  {
    $entities = [
      'MyOtherModuleClass.MYENTITY' => [
        'default' => $value,
        'module' => 'myothermodule',
      ]
    ];
  }
  return $entities;
}