2014-09-19 2 views
0

가격 및 기타 필드가있는 서비스 목록을 표시하도록 구성된 Drupal보기가 있습니다. 프런트 엔드에서 서비스 목록을 필터링하기 위해 BEF 모듈을 사용하고 있습니다. Price 필드는 필터 데이터에 jQuery Slider를 사용합니다. 이제 목록에서 MAX 가격 노드와 MIN 가격 노드를 기준으로 슬라이더의 최소 및 최대 한계를 설정하려고합니다.결과 노드를 기준으로 BEF 슬라이더 필드의 최소/최대 값을 변경하십시오. MAX MIN 값

BEF 필드 설정을 변경하기 위해 hook_better_exposed_filters_settings_alter (& $ 설정)를 시도했지만 더 이상 최신 업데이트에서 작동하지 않습니다. 이걸 성취 한 사람이 도와주세요!

미리 감사드립니다.

EDIT : 솔루션으로 인해 BEF 모듈 파일이 변경 될 염려가 없습니다.

답변

0

BEF 모듈은 이러한 옵션을 javascript 옵션으로 추가하므로 hook_js_alter()를 사용하여이 옵션을 재정의 할 수 있습니다.

/** 
* Implements hook_js_alter(). 
*/ 
function MODULE_js_alter(&$javascript) { 
    $settings = $javascript['settings']['data']; 

    foreach ($settings as $key => $value) { 
    if (isset($settings[$key]['better_exposed_filters']['slider_options']['commerce_price_amount']['max'])) { 
     $settings[$key]['better_exposed_filters']['slider_options']['commerce_price_amount']['max'] = 1000; 
    } 
    } 

    $javascript['settings']['data'] = $settings; 
} 
+0

고마워요! 하지만 필터 형식을 확인하지 않고 모든 사이트 페이지에서 실행되므로 시간이 많이 소요되는 프로세스라고 생각합니다. 또한 "better_exposed_filters", "slider_options", "commerce_price_amount"색인에 대해 정의되지 않은 색인 오류를 생성 할 수있는 가능성이 있습니다. 한 가지 더, 이것은 특정 필드이므로보기 필드가 변경되면 매번 수정해야하며 슬라이더 옵션을 사용하여 새로운 필드마다 코드를 추가해야합니다. 다른 안정적인 솔루션을 제공해 드릴까요? 해결책이 BEF 모듈 파일에서 변경되도록 유도하는지는 결코 생각하지 않습니다. – Anurag