function views_ui_views_analyze

Implements hook_views_analyze().

This is the basic views analysis that checks for very minimal problems. There are other analysis tools in core specific sections, such as node.views.inc as well.

File

drupal/core/modules/views_ui/views_ui.module, line 425
Provide structure for the administrative interface to Views.

Code

function views_ui_views_analyze(ViewExecutable $view) {
  $ret = array();

  // Check for something other than the default display:
  if (count($view->displayHandlers) < 2) {
    $ret[] = Analyzer::formatMessage(t('This view has only a default display and therefore will not be placed anywhere on your site; perhaps you want to add a page or a block display.'), 'warning');
  }

  // You can give a page display the same path as an alias existing in the
  // system, so the alias will not work anymore. Report this to the user,
  // because he probably wanted something else.
  foreach ($view->displayHandlers as $display) {
    if (empty($display)) {
      continue;
    }
    if ($display
      ->hasPath() && ($path = $display
      ->getOption('path'))) {
      $normal_path = drupal_container()
        ->get('path.alias_manager.cached')
        ->getSystemPath($path);
      if ($path != $normal_path) {
        $ret[] = Analyzer::formatMessage(t('You have configured display %display with a path which is an path alias as well. This might lead to unwanted effects so better use an internal path.', array(
          '%display' => $display->display['display_title'],
        )), 'warning');
      }
    }
  }
  return $ret;
}