class semanticviews_plugin_row_fields in Semantic Views 7
Same name and namespace in other branches
- 6 semanticviews_plugin_row_fields.inc \semanticviews_plugin_row_fields
The semantic 'fields' row plugin
This displays fields one after another, giving options for HTML element and class.
Hierarchy
- class \views_object
- class \views_plugin
- class \views_plugin_row
- class \views_plugin
Expanded class hierarchy of semanticviews_plugin_row_fields
1 string reference to 'semanticviews_plugin_row_fields'
- semanticviews_views_plugins in ./
semanticviews.views.inc - Implements hook_views_plugins().
File
- ./
semanticviews_plugin_row_fields.inc, line 15 - Contains the semantic row style plugin.
View source
class semanticviews_plugin_row_fields extends views_plugin_row {
/**
* Set default options.
*/
function option_definition() {
$options = parent::option_definition();
$options['skip_blank'] = array(
'default' => FALSE,
);
// Field element_type and classes cannot be defined in the options
// definition because the field handlers are not attached when the option
// defaults are set up in the object's init() method.
$options['semantic_html'] = array(
'default' => array(),
);
return $options;
}
/**
* Provide a form for setting options.
*/
function options_form(&$form, &$form_state) {
parent::options_form($form, $form_state);
$form['semantic_html'] = array(
'#tree' => TRUE,
);
$form['semantic_html']['help'] = array(
'#markup' => t('These settings will override each Fields "Style Settings".'),
);
foreach ($this->display->handler
->get_handlers('field') as $field => $handler) {
if (!$handler->options['exclude']) {
$default_value = isset($this->options['semantic_html'][$field]) && is_array($this->options['semantic_html'][$field]) ? $this->options['semantic_html'][$field] : array(
'element_type' => 'div',
'class' => '',
'label_element_type' => 'label',
'label_class' => '',
);
$form['semantic_html'][$field] = array(
'#title' => $handler
->label() ? $handler
->label() : $handler
->ui_name(),
'#type' => 'fieldset',
'#attributes' => array(
'class' => array(
'clearfix',
),
),
);
$form['semantic_html'][$field]['element_type'] = array(
'#prefix' => '<div class="views-left-30">',
'#suffix' => '</div>',
'#title' => 'Element',
'#type' => 'textfield',
'#size' => '10',
'#default_value' => $default_value['element_type'],
);
$form['semantic_html'][$field]['class'] = array(
'#prefix' => '<div class="views-right-70">',
'#suffix' => '</div>',
'#title' => 'Class attribute',
'#type' => 'textfield',
'#size' => '30',
'#default_value' => $default_value['class'],
);
if ($handler
->label()) {
$form['semantic_html'][$field]['label_element_type'] = array(
'#prefix' => '<div class="views-left-30">',
'#suffix' => '</div>',
'#title' => 'Label element',
'#type' => 'textfield',
'#size' => '10',
'#default_value' => $default_value['label_element_type'],
);
$form['semantic_html'][$field]['label_class'] = array(
'#prefix' => '<div class="views-right-70">',
'#suffix' => '</div>',
'#title' => 'Label class attribute',
'#type' => 'textfield',
'#size' => '30',
'#default_value' => $default_value['label_class'],
);
}
}
}
$form['skip_blank'] = array(
'#type' => 'checkbox',
'#default_value' => $this->options['skip_blank'],
'#title' => t('Skip empty fields'),
'#description' => t('Do not output anything when a field has no content. This has the same outcome as enabling the <em>Hide if empty</em> option for every field in this display.'),
);
}
/**
* Validate the options form.
*/
function options_validate(&$form, &$form_state) {
parent::options_validate($form, $form_state);
// TODO: validate that the elements and classes are valid HTML. This is not
// a substitute for output filtering.
}
/**
* Validate the view.
*/
function validate() {
$errors = parent::validate();
$display_handler = $this->display->handler;
if (!$display_handler
->is_defaulted('fields') && $display_handler
->is_defaulted('row_plugin')) {
$errors[] = t('Display "@display" overrides fields and must also override the row style plugin.', array(
'@display' => $this->display->display_title,
));
}
return $errors;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
semanticviews_plugin_row_fields:: |
function |
Provide a form for setting options. Overrides views_plugin_row:: |
||
semanticviews_plugin_row_fields:: |
function |
Validate the options form. Overrides views_plugin_row:: |
||
semanticviews_plugin_row_fields:: |
function |
Set default options. Overrides views_plugin_row:: |
||
semanticviews_plugin_row_fields:: |
function |
Validate the view. Overrides views_plugin:: |
||
views_object:: |
public | property | Handler's definition. | |
views_object:: |
public | property | Except for displays, options for the object will be held here. | 1 |
views_object:: |
function | Collect this handler's option definition and alter them, ready for use. | ||
views_object:: |
public | function | Views handlers use a special construct function. | 4 |
views_object:: |
public | function | Destructor. | 2 |
views_object:: |
public | function | 1 | |
views_object:: |
public | function | ||
views_object:: |
public | function | Always exports the option, regardless of the default value. | |
views_object:: |
public | function | Set default options on this object. | 1 |
views_object:: |
public | function | Set default options. | |
views_object:: |
public | function | Let the handler know what its full definition is. | |
views_object:: |
public | function | Unpack options over our existing defaults, drilling down into arrays so that defaults don't get totally blown away. | |
views_object:: |
public | function | Unpack a single option definition. | |
views_object:: |
public | function | Unpacks each handler to store translatable texts. | |
views_object:: |
public | function | ||
views_plugin:: |
public | property | The current used views display. | |
views_plugin:: |
public | property | The plugin name of this plugin, for example table or full. | |
views_plugin:: |
public | property | The plugin type of this plugin, for example style or query. | |
views_plugin:: |
public | property |
The top object of a view. Overrides views_object:: |
1 |
views_plugin:: |
public | function | Provide a list of additional theme functions for the theme info page. | |
views_plugin:: |
public | function | Return the human readable name of the display. | |
views_plugin:: |
public | function | Returns the summary of the settings in the display. | 8 |
views_plugin:: |
public | function | Provide a full list of possible theme templates used by this style. | |
views_plugin_row:: |
public | function | 2 | |
views_plugin_row:: |
public | function |
Perform any necessary changes to the form values prior to storage.
There is no need for this function to actually store the data. Overrides views_plugin:: |
1 |
views_plugin_row:: |
public | function | Allow the style to do stuff before each row is rendered. | 5 |
views_plugin_row:: |
public | function |
Add anything to the query that we might need to. Overrides views_plugin:: |
|
views_plugin_row:: |
public | function | Render a row object. This usually passes through to a theme template of some form, but not always. | 7 |
views_plugin_row:: |
public | function |