Как добавить столбец в drupal view (Format:Table), которого нет в БД?
view (Format:Table) выводит 2 числовых столбца с бд. Как сделать третий, в котором будет сумма двух предыдущих? Еще нужно чтобы это столбец мог сортироваться и к нему можно было добавить фильтр.
Можно наверное модулями нагородить, но проще всего написать свой views_handlers. Что бы сортировался и фильтровался наследуй его от views_handler_field_numeric. Такие вопросы часто задают на собеседованиях на мидла и выше.
Антон Янковский я уже полгода не могу юниором устроиться)
А насчет своего views_handlers: как будет производится сортировка если поля нет в бд?
Для сортировки к запросу добавляется ORDER BY field ASC. Если этого field в бд нет, то и сортировки по нему не будет.
Вы заблуждаетесь, в зависимости от версии drupal и views есть нюансы реализации, но концептуально достаточно добавить в click_sort($order) что то вроде $this->query->add_orderby(NULL, NULL, $order, '(t.item + t.other_item)');
Будите удивлены когда увидите результат исполнения "SELECT 123/0 as 'wow!';" Если вот прям точно надо то можно так: (IF (t.other_item = 0, (t.item, ((t.item / t.other_item)))