2012-11-22 1 views
1

서핑 조건에 서핑 조건에 별 5 개 등급 (http://drupal.org/project/fivestar 모듈 사용) 기능을 포함 시키려합니다. 우리가 겪은 이슈는 바람의 조건이 좋지 않을 수 있으며 보고서가 별 5 개를 주더라도 바람이 잘못되면이를 설명 할 수 있어야한다는 것입니다. 우리는 A 또는 B 값을 갖는 "Wind Rating"이라는 노드 필드를 추가하고 싶습니다. 바람이 유리하면 값을 A로 설정하고 현재 star.gif 파일을 사용합니다. 우호적 인 바람 조건이 아니라면 값을 B로 설정하고 star.gif를 starb.gif (바리케이드 버전)로 전환하려고합니다.Drupal 5 성급 모듈, 변수 값에 따라 동적으로 star.gif 이미지 변경

Drupal 7 및 Five Star 모듈을 사용하여 이것을 달성하는 가장 좋은 방법은 무엇입니까?

5 star surf reports

답변

1

그럼 그 힘든 하나입니다. 나 해보자.

첫 번째 : 자신의 위젯을 만들려면 http://www.drupalace.com/drupal_tutorial_make_custom_fivestar_graphics의 단계를 따르십시오. 제목에서 시작하여 읽기 Make me a star!

이제 위젯을 만드는 방법을 알았으므로 이제 동적으로 만드는 방법에 집중할 수 있습니다. 어떤 별 이미지를 사용할지 결정하려면 위젯 폴더의 CSS 파일에있는 스타일 규칙을 사용하십시오. 따라서 동적 인 이미지를 얻으려면 조건에 따라 출력에 추가 클래스를 추가해야합니다. 내가 클래스가 추가되는 경우, 당신이 추가 할 수있는 위젯 특정 클래스가이 선 후 파일 fivestar.modulefivestar_expand

$class[] = 'fivestar-' . $element['#widget']['name']; 

line 582에 추가 된 것을 볼 볼 수있는 코드를 확인

if (my_condition_is_met) { 
    $class[] = 'fivestar-' . $element['#widget']['name'] . 'special-case'; 
} 

이제 CSS 파일을 편집하여 표시 할 이미지와 함께이 특별한 경우에 대한 규칙을 추가 할 수 있습니다 (사용자 정의 이미지를 추가하는 것을 잊지 마십시오).

홀드 : 드루팔에서 그 신성 모독 모듈을 해킹하기 때문에 올바른 단계를

  1. 사용자 정의 모듈과 적절하게 이름을에 fivestar_element_info 기능을 복사 할 것이다.
  2. '#process' => array('fivestar_expand_custom'),-
  3. 변경 라인 '#process' => array('fivestar_expand')는 사용자 정의 모듈에 fivestar_expand_custom를 복사 앞서 언급 한 변경을한다.

드루팔 (Drupal에서 올바른 방법으로 사용하는 것은 때로는 매우 어려울 수 있습니다. 그러나 나는 더 나은 해결책을 찾지 못했습니다. 나는 하나가 있기를 바랍니다.

+0

귀하의 의견에 감사드립니다. –

관련 문제