I'd like to add a new setting to all fields in Views. In other words, when you click on any given field in the "Fields" list, you get a popup with the selected field's configuration options. I would like to add a new settings element here.
If this was just about adding a new setting to a specific custom field handler, then I would just create a new field handler class and have it extend views_handler_field
. Then, I'd make my setting available by first defining it in option_definition()
followed by adding a new form element in options_form()
. However, I'd like the new setting to appear for all fields regardless of field handler.
What I've done so far is to simply provide an implementation of hook_form_views_ui_config_item_form_submit()
to add the new setting. I'm adding my custom form element here as well as my own submit handler. In the submit handler I make sure to save the setting in $form_state['handler']->options
in my submit handler.
However, is that the right way to go about it? Is there another way which Views facilitates and which would let me do things a little more clean so that I do not have to "mess" with the options array in my own submit handler, but rather have Views to actually know about my added universal field setting?