写视图样式插件-error - 显示" Master"有一个无效的样式插件

时间:2012-10-22 11:47:20

标签: drupal drupal-7 drupal-views

我正在写一个视图显示plguin,我在mymodule.views.inc中定义如下

function mymodule_views_plugins() {
  $plugins['style']['mymodule_articles_list'] = array(
    'title' => t('mymodule Articles Listing'),
    'help' => t('Display Articles using citation'),
    'path' => drupal_get_path('module', 'mymodule'),
    'handler' => 'mymodule_articles_list_style_plugin',
    'uses row plugin' => TRUE,
    'uses options' => TRUE,
    'uses grouping' => FALSE,
    'type' => 'normal',
    'use pager' => FALSE,
    'use ajax' => FALSE,
    'theme' => 'mymodule_articles_list'
  );
  return $plugins;
}

我创建了类和主题函数。当我在创建视图时选择“mymodule Articles Listing”时出现错误

  

显示“Master”具有无效的样式插件。显示“页面”有一个   无效的样式插件。

提升1

在devel中运行时执行php

$style_plugin = views_get_plugin('style','mumodule_articles_list');

不返回任何内容,这意味着定义

有问题

1 个答案:

答案 0 :(得分:1)

views_plugin_display::validate()返回第一个错误,执行以下代码。

$style = $this->get_plugin();
if (empty($style)) {
  $errors[] = t('Display "@display" has an invalid style plugin.', array('@display' => $this->display->display_title));
}

views_plugin_display::get_plugin()在没有参数的情况下调用时执行的代码实际上是以下代码。

$name = $this->get_option('style_plugin');
$plugin = views_get_plugin('style', $name);

if (!$plugin) {
  return;
}

views_get_plugin()找不到$name的插件定义时,该代码失败,这可能发生在找不到包含处理程序的文件或从{{3}返回的名称时是错的。