1 handlers.inc views_handler::init(&$view, &$options)

init the handler with necessary data.


$view: The $view object this handler is attached to.

$options: The item from the database; the actual contents of this will vary based upon the type of handler.


core/modules/views/includes/handlers.inc, line 87
Defines the various handler objects to help build and display views.


Base handler, from which all the other handlers are derived. It creates a common interface to create consistency amongst handlers and data.


function init(&$view, &$options) {
  $this->view = &$view;
  $display_id = $this->view->current_display;
  // Check to see if this handler type is defaulted. Note that
  // we have to do a lookup because the type is singular but the
  // option is stored as the plural.

  // If the 'moved to' keyword moved our handler, let's fix that now.
  if (isset($this->actual_table)) {
    $options['table'] = $this->actual_table;

  if (isset($this->actual_field)) {
    $options['field'] = $this->actual_field;

  $types = views_object_types();
  $plural = $this->handler_type;
  if (isset($types[$this->handler_type]['plural'])) {
    $plural = $types[$this->handler_type]['plural'];
  if ($this->view->display_handler->is_defaulted($plural)) {
    $display_id = 'default';

  $this->localization_keys = array(

  $this->unpack_options($this->options, $options);

  // This exist on most handlers, but not all. So they are still optional.
  if (isset($options['table'])) {
    $this->table = $options['table'];

  if (isset($this->definition['real field'])) {
    $this->real_field = $this->definition['real field'];

  if (isset($this->definition['field'])) {
    $this->real_field = $this->definition['field'];

  if (isset($options['field'])) {
    $this->field = $options['field'];
    if (!isset($this->real_field)) {
      $this->real_field = $options['field'];

  $this->query = &$view->query;