views api

Интеграция модуля с views. Работа с обработчиками. Часть 2

В этой части статьи рассмотрим основные методы которые понадобятся для создания собственных обработчиков.

Основные методы для создания собственных обработчиков

Добавление настроек

function option_definition() {
    $options = parent::option_definition();

    $options['type'] = array('default' => 0);

    return $options;
  }

  function options_form(&$form, &$form_state) {
    parent::options_form($form, $form_state);
    $form['type'] = array(
      '#type' => 'select',
      '#title' => t('Type'),
      '#options' => array('type 1', 'type 2'),

Интеграция модуля с views. Аргументы (Arguments)

Сегодня мы рассморим создание обработчиков для аргументов views.

Severity

Аргумент служит для фильтрации событий по степени важности. Аргумент принимает числовые значения.

Имя обработчика dblog_views_handler_argument_severity, создадим для него файл в папке для обработчиков dblog_views_handler_argument_severity.inc.

<?php
// $Id$

class dblog_views_handler_argument_severity extends views_handler_argument {
  function summary_name($data) {
    return $this->severity_level($data->{$this->name_alias});
  }

  function title() {

Интеграция модуля с views. Поля (Fields)

В первой статье мы определили какие поля можно будет выводить с помощью views. В этой статье мы рассмотрим создание обработчиков для этих полей.

Message

Поле отвечает за вывод сообщения о неком событии из лога.
Зачем же простое ссобщение выводить через свой обработчик, если есть стандартные для вывода текста? Дело в том, что в сообщении находятся теги заполнители (placeholders), а переменные для них хранятся в другом поле таблицы watchdog.

Интеграция модуля с views. Работа с обработчиками. Часть 1

В прошлом примере мы сделали базу для нашего модуля. В этой статье речь пойдет о создании обработчиков для полей, аргументов, фильтров и тд.

Описание обработчиков

Описываются обработчики в файле dblog_views.views.inc с помощью хука hook_views_handlers().
По сути файл служит для того чтобы views знал какие файлы заинклудить.
Называть обработчики можно как душе угодно.

'dblog_views_handler_filter_timestamp' => array(
  'parent' => 'views_handler_filter',
),

    Подписка на views api