123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- /**
- * @file
- * Definition of views_handler_field_custom.
- */
- /**
- * A handler to provide a field that is completely custom by the administrator.
- *
- * @ingroup views_field_handlers
- */
- class views_handler_field_custom extends views_handler_field {
- /**
- * {@inheritdoc}
- */
- public function query() {
- // Do nothing -- to override the parent query.
- }
- /**
- * {@inheritdoc}
- */
- public function option_definition() {
- $options = parent::option_definition();
- // Override the alter text option to always alter the text.
- $options['alter']['contains']['alter_text'] = array('default' => TRUE, 'bool' => TRUE);
- $options['hide_alter_empty'] = array('default' => FALSE, 'bool' => TRUE);
- return $options;
- }
- /**
- * {@inheritdoc}
- */
- public function options_form(&$form, &$form_state) {
- parent::options_form($form, $form_state);
- // Remove the checkbox.
- unset($form['alter']['alter_text']);
- unset($form['alter']['text']['#dependency']);
- unset($form['alter']['text']['#process']);
- unset($form['alter']['help']['#dependency']);
- unset($form['alter']['help']['#process']);
- $form['#pre_render'][] = 'views_handler_field_custom_pre_render_move_text';
- }
- /**
- * {@inheritdoc}
- */
- public function render($values) {
- // Return the text, so the code never thinks the value is empty.
- return $this->options['alter']['text'];
- }
- }
- /**
- * Prerender function to move the textarea to the top.
- */
- function views_handler_field_custom_pre_render_move_text($form) {
- $form['text'] = $form['alter']['text'];
- $form['help'] = $form['alter']['help'];
- unset($form['alter']['text']);
- unset($form['alter']['help']);
- return $form;
- }
|