Как правильно реализовать hook_views_plugins? - PullRequest
1 голос
/ 22 июня 2011

Я пытаюсь создать свой собственный формат вывода видов. У меня был частичный успех с этим кодом:

my_module.module:

<?php
function my_module_views_api() { // your module name into hook_views_api
  return array(
    'api' => 2,
    // might not need the line below, but in any case, the last arg is the name of your module
    'path' => drupal_get_path('module', 'my_module'),
  );
}
?>

my_module.views.inc:

<?php
/**
 * Implementation of hook_views_plugins().
 */
function my_module_views_plugins() {
  $path = drupal_get_path('module', 'my_module');
  return array(
    'style' => array(
      'my_module' => array(
        'title' => t('my_module'),
        'handler' => 'views_plugin_style_default',
        'theme' => 'my_module',
        'theme path' => $path . '/theme',
        'theme file' => 'my-module.tpl.php',
        'uses row plugin' => TRUE,
        'uses row class' => TRUE,
        'uses grouping' => TRUE,
        'uses options' => TRUE,
        'type' => 'normal',
      )
    ),
  );
}
?>

Тема / мой-module.tpl.php:

<?php
/**
 * @file views-view-unformatted.tpl.php
 * Default simple view template to display a list of rows.
 *
 * @ingroup views_templates
 */
 if (!empty($title)): 
   print $title; 
 endif; 
 foreach ($rows as $id => $row): 
 ?>
 ROW:
 <?php
 print_r($row);
 endforeach; 
 ?>

Вышеприведенное успешно, так как для вывода строк будет использоваться мой собственный файл my-module.tpl.php. Тем не менее, строки предварительно отформатированы, предположительно обработчиком views_plugin_style_default. Я часами пытался создать свой собственный такой обработчик, но безуспешно, поместив его непосредственно в каталог views / plugins или в собственный каталог plugins моего модуля. Я также не могу найти хороших примеров в Интернете, и я не получаю никаких полезных сообщений об ошибках, которые помогли бы мне отладить.

Есть ли надлежащая документация о том, как создать обработчик пользовательских представлений? Или можете привести рабочий пример?

Большое спасибо!

1 Ответ

1 голос
/ 02 июля 2011

Здесь есть учебное пособие: http://groups.drupal.org/node/10129. Прокрутите вниз до «Написание видов 2 и плагины строк».В учебном примере они создают как стиль, так и плагин строки.

В качестве альтернативы, я попытался создать просто плагин стиля, похожий на ваш, за исключением того, что я установил «использует плагин строки» в falseПосле этого я смог получить доступ к необработанным строкам данных из моего шаблона views-view-myplugin.tpl.php.

...