2014-01-16 3 views
0

위도/경도가 Geofield에 저장되어 있다고 가정하면이 작업은 매우 간단하다고 생각했습니다. 그러나, 나는 정말로 고심하고있다.Drupal 7 -보기/Geofield - 현재 노드 근처의 노드 표시 위도/경도

기본적으로 블록의 현재 노드에 가장 가까운 20 개의 노드를 표시하려고합니다.

없음 주소 필드하거나 아무것도 복잡 단지 간단 좌표 ...

모든 아이디어를 내가 해킹을 시작하기 전에!

BTW, 저는 드루팔 (Drupal)의 초보자입니다 만, 많은 PHP 경험이 있습니다.

감사합니다, 크리스

+0

OK에서이 문제를 파악, 이것은 내가 가지고 얼마나 멀리이다. geofield 근접 필드를 사용하여 수동으로 필터 조건의 좌표를 입력해야만 인근 노드의 필수 목록을 가져올 수 있습니다. 이제 노드에서 정렬 필터로 geofield 값을 얻는 방법에 대한 질문이 생깁니 까? –

답변

0

내 솔루션 : 컨텍스트 필터 필드 Geofield 근접 필터를 추가에서

  • - 같은 "내용 : - 근접 위치 (field_location)". 하단의 반경 거리를 설정하십시오.
  • "필터 값을 사용할 수없는 경우"에서 "PHP 코드"를 선택하십시오.
  • 다음 PHP를 입력하십시오. 반환 값은 필터에 전달되는 인수입니다.
 

    $node = menu_get_object(); 
    $value = field_get_items('node', $node, 'field_location'); 
    $lat = $value[0]['lat']; 
    $lon= $value[0]['lon']; 
    return ($lat . ', ' . $lon); 

이 페이지 https://drupal.org/node/2014345

0

먼저 우수한 location 모듈을 설치합니다.

검색 결과 콘텐츠 형식과 기본 콘텐츠 형식에 위치 필드를 추가하십시오.

기본 콘텐츠 형식 (본인이 설치되어 있다고 가정)을 기반으로보기를 만들고 블록으로 표시합니다.

보기에서 열린 고급 필터와 컨텍스트 필터에서 "location distance/proximity"에 대한 필터를 추가하면 가장 가까운 20 개의 결과가 나타납니다.

+0

제안 해 주셔서 감사합니다. 내가 사용하고있는 Geofield 기반 솔루션이 정말 필요했습니다. –