2012-07-05 3 views
0

현재 this answer에서 제안 된 코드를 사용하고 있습니다. 다음은 어떤 :Drupal 7의 특정 콘텐츠 형식에 대한 이미지 필드에 클래스 추가

function simalr_preprocess_image(&$variables) { 
    if ($variables['style_name'] == 'request-background') { 
    $variables['attributes']['class'][] = 'pixastic'; 
    $variables['attributes']['class'][] = 'pixastic-blurfast(amount=1)'; 
    } 
} 

이 내가 '요청 - 배경'스타일로 이미지가없는 페이지에 다음과 같은 오류 메시지가 얻을 수 있다는 사실을 제외하고 잘 작동 :

알림 : simalr_preprocess_image()의 정의되지 않은 색인 : style_name (/var/www/vhosts/simalr.com/httpdocs/sites/all/themes/simalr/template.php의 46 번째 줄).

이 콘텐츠는 특정 콘텐츠 유형 (즉 '요청')에만 사용됩니다. 어느 콘텐트 유형의 페이지에서만 사용하려면 내 template.php 파일의 코드를 어떤 방식으로 조정해야합니까?

답변

0

코드로 작업 할 수도 있지만 isset 기능을 사용할 수 있습니다. 이렇게하면 경고가 제거됩니다.

특정 콘텐츠 유형에만 적용하려는 경우 drupal에서 menu_get_object 기능을 사용하십시오. 이 함수는 노드 페이지 인 경우 노드를 반환합니다.

예 :이 도움이

$node = menu_get_object(); 

if ($node->type == 'story') { 
    // TODO 
} 

희망.

+0

고마워요,하지만 이걸 시도했지만 여전히 오류가 발생합니다. 나에게 더 좋은 예를 들어주기 위해 코드를 다시 작성해 주실 수 있습니까? – rroose

관련 문제