views_ui_views_analyze

views_ui_views_analyze(ViewExecutable $view)

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

core/modules/views_ui/views_ui.module, line 292
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::service('path.alias_manager')->getPathByAlias($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;
}
doc_Drupal
2016-10-29 09:55:43
Comments
Leave a Comment

Please login to continue.