В принципе почти в любом hook_views_* можно сделать хоть в hook_views_pre_render вопрос в накладных расходах. Одно дело убрать до того как запрос был создан и другое когда всё уже отработало. Для мелочи какой то может и не критично, а когда таблицы на сотни столбцов заметно весьма.
Нюансы касаются способа хранения того что выбрал пользователь, того как будут отображения чекбоксы и как будет происходить их срабатывание и опять же сохранение, возможных вариантов кеширование результатов. Каждый пункт подробно расписать я не осилю. Если у вас мелкий проект и нет проблем с хайлоад то морочится пока не стоит.
Будите удивлены когда увидите результат исполнения "SELECT 123/0 as 'wow!';" Если вот прям точно надо то можно так: (IF (t.other_item = 0, (t.item, ((t.item / t.other_item)))
Вы заблуждаетесь, в зависимости от версии drupal и views есть нюансы реализации, но концептуально достаточно добавить в click_sort($order) что то вроде $this->query->add_orderby(NULL, NULL, $order, '(t.item + t.other_item)');
Я проверял тот вариант что предложил он 100% рабочий. Попробуйте в proxy_pass например yandex.ru/; если при переходе на IP/cloud будет яндекс то proxy_pass работает и значит проблема в чем то другом.
Нюансы касаются способа хранения того что выбрал пользователь, того как будут отображения чекбоксы и как будет происходить их срабатывание и опять же сохранение, возможных вариантов кеширование результатов. Каждый пункт подробно расписать я не осилю. Если у вас мелкий проект и нет проблем с хайлоад то морочится пока не стоит.