it-swarm-ko.tech

보기 2 조건부 필터

뷰에 조건부 필터를 어떻게 적용 할 수 있습니까 (뷰 2 사용)?

예 : [블로그 항목, 포럼 주제, 사용자 프로필]의 노드 : 유형에 대한 필터를 사용하여 여러 다른 노드 유형에 대한 티저를 표시하는보기가 있습니다.

이는 이러한 유형의 모든 노드를 표시하는 데 적합하지만 사진이있는 경우에만 사용자의 프로필을 표시하고 싶다고 가정합니다 (및 다른 모든 유형).

3
cjworden

"필터링 된 (그림이 있어야 함)"보기에 대한 디스플레이를 복제합니다. 그림 필드에 관계를 추가하고 필수로 만드십시오. 이것은 그림 필드가 채워진 컨텐츠의 표시를 제한합니다.

이제 헤더의 링크를 사용하여 앞뒤로 이동하거나 다른 방법을 제공 할 수 있습니다.

3
Jason Smith

이를 위해 사용하는 방법은 페이지 콜백을 재정의 한 다음 뷰를 조작하기위한 사용자 지정 코드를 제공하는 것입니다. 예를 들면 다음과 같습니다.

 $ view = views_get_view ( 'profile_listing'); 
 // 기능 내보내기에서 표시 이름이 변경되었습니다. page_1 또는 block_1 일 가능성이 더 높습니다. 
 $ view-> set_display ( 'page_profile_listing'); 
 
 if (일부 조건) {
 $ date_filter = array (
 'date_filter'=> array (
 'operator'=> '> = ', 
'value '=> array (
'value '=> NULL, 
'min '=> NULL, 
'max '=> NULL , 
 'default_date'=> '현재 -7 일', 
 'default_to_date'=> '', 
), 
 'group'=> '0 ', 
'exposed '=> FALSE, 
'expose '=> array (
'operator '=> FALSE, 
'label '=>' ' , 
), 
 'date_fields'=> array (
 'node_data_field_feature_updated_date.field_feature_updated_date_value'=> 'node_data_field_feature_updated_date.field_feature_updated_date_value', 
), 
 'date_method'=> 'OR', 
 'granularity'=> 'day', 
 'form_type'=> 'date_select' , 
 'default_date'=> '현재 -7 일', 
 'default_to_date'=> '', 
 'year_range'=> '-3 : +3', 
 'id'=> 'date_filter', 
 'table'=> 'node', 
 'field'=> 'date_filter', 
 'override'= > array (
 'button'=> '기본값 사용', 
), 
 'relationship'=> 'none', 
), 
); 
 
 $ existing_filters = $ view-> display_handler-> get_option ( 'filters'); 
 $ view-> display_handler-> override_option ( 'filters', array_merge ( $ existing_filters, $ date_filter)); 
} 
 
 return $ view-> execute_display ( 'page_profile_listing'); 

내가 추가하는 실제 필터는이 경우 의미가 없습니다 (이 작업을 수행하는 다른 곳에서 복사/붙여 넣기 한 것입니다). 보기에 추가하고 내보내기 기능을 사용하고 내보내기 코드에서 특정 필터를 찾아서 추가해야하는 특정 필터를 가져올 수 있습니다.

이 모든 것이 이해되기를 바랍니다. 필요한 경우 자세한 내용을 문의하십시오.

2
beeradb

사용자 ID를 뷰에 대한 인수로 전달하고 PHP 코드 유효성 검사기를 설정하여 사용자가 예를 들어 그림을 가지고 있는지 확인할 수 있습니다.

1
João Guilherme

다른 필터를 추가하여 새보기를 만들 수 있습니다.

다른 조건에 따라 뷰를 변경하려면 출력을 제한하는 인수를 추가 할 수 있습니다.

정말 복잡해지기를 원한다면 뷰 결과를 수동으로 필터링하고 인수를 기반으로 콘텐츠 만 표시하는 모듈을 작성할 수 있습니다.

1
MikeNGarrett