Использование hook() в views

Главные вкладки

Аватар пользователя Zerbert Zerbert 23 мая 2016 в 14:25

Доброго времени суток всем!
Сделал свой модуль, пишу хук для views, хочу создать автовычисляемое поле. Написал почти всё, но никак не могу найти, как мне обратиться к переменной в $views.
Вот код:

<?php
class calculated_field_views_views_handler_field_files_count extends views_handler_field_numeric {
      function 
query() {
        
$this->field_alias $this->query->add_field(
          
NULL,
          
'(SELECT pr.field_price_uchastok_value/(pl.field_ploshad_value*10000) FROM field_data_field_price_uchastok pr,field_data_field_ploshad pl WHERE pr.entity_id = pl.entity_id and pr.entity_id = ',
          
'Price by meter'
        
);
      }
     
      function 
click_sort($order) {
        
$this->query->add_orderby(NULLNULL$order$this->field_alias);
      }
    }
?>

Сам sql запрос рабочий, писал и тестил его в phpmyadmin. Мне осталось вставить туда только nid записей, но никак не пойму как их получить.

Комментарии

Аватар пользователя Zerbert Zerbert 23 мая 2016 в 15:52

Как получить данные из полей views я понял, но как добавить новое - нет.

<?php
function c_bootstrap_barrio_views_pre_render(&$view){
    if (
$view->name == 'map') {
        foreach (
$view->result as $row) {
            
$price $row->field_price_uchastok/($row->field_ploshad*10000);
        }
    }
}
?>

Что теперь с этой переменной делать? Как вывести её вместо с остальными полями?

Аватар пользователя gun_dose gun_dose 23 мая 2016 в 16:32

С добавлением полей не сталкивался, только с переопределением. В теории, можно же например в длину перезаписать площадь, если длину не нужно выводить.