Задача:
Сделать ленту материалов, типа блог (в том числе и коллективные), отсортированную по дате добавления, критерий вхождения рейтинг равный, либо больший 0.
Проблема:
Создал вьюшку, страницу тизеров, фильтр по типу материалов и voting result (sum) больше либо равное 0. Сортировка по дате добавления. Непонятки в том, что в ленте отбражаются лишь материалы за которые уже был отдан голос.
Тоесть если материал новый и рейтинг у него ноль, он туда не попадает, но если за материал были голоса (например 1+ и 1-) он входит с рейтингом ноль в эту вьюшку.
Необходимо же чтоб материалы новые за которые еще не голосовали так же там отображались. Как побороть? Сталкивался кто нибудь с такой проблемой?
Комментарии
сталкивался, пока отложил
очевидно, фильтр для вьюс надо патчить... во Views 2 не поправили,интересно?...
Вот чёрт, отсюда подвоха не ждал. Уже собрался запускаться и на тебе (((
Кстати, есть там фильтр «VotingAPI points vote result (count)» по сути ставя ему значение > либо = 0 всё должно работать, но...
решение здесь
Огромное спасибо.
По ссылке следующее решение в файле votingapi_views.inc меняем строку:
$query->add_where("%s %s %d", $field, $filter['operator'], $filter['value']);
на
if (( $filter['value'] == "0") || ( $filter['value'] === NULL) ){
$query->add_where("$field is NULL OR %s %s %d", $field, $filter['operator'], $filter['value']);
} else {
$query->add_where("%s %s %d", $field, $filter['operator'], $filter['value']);
}
Теперь выставляя во вьюшке значение greater than or equal to 0 будут отображаться материалы от нуля и выше.
Эта заплатка правда не решает проблемы если нам надо вывести greater than or equal to -1
пока не пробывал но думаю это можно побороть составной вьюшкой о которой писал Ромка . Выставляя в одной значение greater than or equal to -1, а в другой equal to 0 в итоге на страницы должны отобразиться все материалы от -1 и выше, включае те за которые не голосовали.
Поправте, если не правильно мыслю.
Разве не решает?
Задачу описанную в топике решает. Но если идти дальше и как я написал выше сделать сортировку от -1 то нулевые ноды идут стороной. Помоему это даже видно из кода, который проверяет есть ли ноль в поле, иначе работает стандарт.
могу ошибаться, проверю дома более тщательно.