Как удалить результаты, возвращенные из пользовательского интерфейса Views

Я получаю результаты, как и ожидалось, с помощью пользовательского интерфейса Views. Но я не хочу отображать конкретную запись из вывода Views UI> Как этого добиться и потребуются ли для этого какие-либо хуки?

Бывший. Мои представления возвращают результат как 1,2,3,4. Теперь я не хочу показывать 1 в результате. Я не могу изменить запрос с помощью hook_views_query_alter, так как 1 используется в предложении «где».


person simple user    schedule 28.03.2013    source источник


Ответы (2)


Реализуйте hook_views_query_alter(), добавив условие, которое исключает запись, которая вам не нужна, в наборе результатов.

person Oswald    schedule 28.03.2013
comment
Нет, я не могу этого сделать, потому что мой сценарий таков: например, пользователь заходит на страницу узла A. Теперь B, C, D - это три узла, которые связаны с A. Когда я хочу показать все узлы, связанные с A, тогда в представлении отображаются A, B, C, D, что также правильно. Теперь я не хочу, чтобы пользователь отображал узел внутри представления на странице узла. Поэтому мне нужно удалить узел A из результата просмотра. Также я не могу изменить запрос, потому что предложение where моего запроса будет ContentID=A. - person simple user; 28.03.2013
comment
Что вы подразумеваете под запросом будет ContentID=A? Я думал, что ваш запрос уже есть, за исключением той части, где A исключен из результатов. - person Oswald; 29.03.2013
comment
Как вы выполнили часть, связанную с A? - person Oswald; 29.03.2013
comment
На самом деле A имеет одно поле Node Reference с именем Subject, которое является другим типом контента. Предположим, что предметами являются физика, математика, биология, химия. Теперь отношения предмета и учителей А,В,С,Г,Д таковы: - А преподают физику, математику, биологию. B Учить физике, биологии, C Учить химии, физике, D Учить математике биологии, E Учить химии. ,D будут отфильтрованы, потому что у них есть один или несколько предметов, общих с A. Но учитель E будет отброшен, так как предмет не является общим с A. - person simple user; 29.03.2013
comment
В этом сценарии мне нужно указать ContentID=A в условии where, и я не хочу снова отображать A в представлении. Таким образом, в представлении будут отображаться B, C, D вместо A, B, C, D. Я надеюсь, что я ясно с моим требованием. Пожалуйста, помогите мне в достижении этого. - person simple user; 29.03.2013

Попробуйте этот код

function hook_views_pre_render(&$view) {

  if($view->name=="ViewName") {  


if($view->current_display=='Display') {

  unset($view->result[1]);

}
  }
}
person srutheesh    schedule 25.10.2013