0

我正在写一个视图显示插件,我在 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 文章列表”时出现错误

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

更新 1

在开发中运行时执行php

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

不返回任何东西,这意味着定义有问题

4

1 回答 1

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,这可能在它找不到包含处理程序的文件时发生,或者从views_plugin_display::get_option()返回的名称错误。

于 2012-10-23T11:42:33.627 回答