2017-05-22 1 views
0

드루팔 (Drupal 7)에 이미지 필드가있는 기사가 있습니다. FTP에서 이미지를 제거하거나 손상되었거나 어떤 이유로 그것이 있다고 생각되는 위치에 있지 않은 경우 사이트는 대체 텍스트를 표시하고 손상된 것으로 보입니다. Drupal에게이 경우 필러 또는 '기본'이미지를 표시하는 것과 같은 다른 작업을 수행하라고 말하고 싶습니다. 그렇게 할 수있는 방법이 있습니까?Drupal 7에서 이미지가없는 경우 출력을 변경할 수 있습니까?

PHP에서 'if file exists'구문을 시도했지만 쓰기를 허용하지 않습니다. 출력을 표시하지 않는 경우를 추가하려고했지만 잘못된 출력을 가리키는 출력이 아닌 빈 출력에서만 작동합니다. Drupal에서이 작업을 수행 할 수 있도록 내 조사에서 다른 것을 찾지 못했습니다.

제공된 이미지가없는 경우를 대비 한 조치가 아닙니다. 이는 이미지가 제공되었지만 존재하지 않는 경우를위한 것입니다. 나는 그 사이트가 정상적으로 실패하기를 원한다.

감사합니다! 브랜든

+0

이 후크는 경우에 당신을 도울 수, 여전히 당신은 PHP 파일을 확인이 존재해야합니다. https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_file_url_alter/7.x – Anurag

+0

https://www.drupal.org/project/filefield_paths를 살펴보고 옵션 – Fky

답변

1

hook_field_display_alter에서는 file_exists를 확인할 수 있습니다 및 template_preprocess_node에서

0

file_create_url에 이미지 변수의 uri 값을 전달 기본 이미지를 보여줍니다. 그러면 이미지의 절대 경로가 표시됩니다.

그런 다음 PHP의 file_exists 함수를 사용하여 이미지 경로가 있는지 확인하십시오. 노드 문서 템플릿 파일에서 다음 변수 $variables[image_exists] = file_exists($image_path);

이 할당 :

if ($image_exists) { 
    // render $content['field_image'] 
} else { 
    // render some other markup 
} 
관련 문제