我正在写一个视图显示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');
不返回任何内容,这意味着定义
有问题答案 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}返回的名称时是错的。