2011-12-14 6 views
1

typo3 페이지에서 페이지 콘텐츠 이미지를 사용하려고합니다. 나는 2 개의 심상을 올려주기하고 DB에서만 파일 이름 만 저장된다.Typo3 Fluid Image View 디렉토리를 업로드하고 업로드합니다.

확인 - 업로드 한 이미지를 direcory에서 찾았습니다! 하지만 이제 어떻게 이미지를 표시해야합니까?!

업로드 dir url을 hrdcode하고 db에서 파일 이름을 추가 할 수 있지만 실제로보기 흉하고 유연하지 않습니다.

<f:image />을 사용하려고했으나 리소스 경로가 필요하기 때문에 기회가 없습니다. OK - 리소스 디렉토리를 찾았으나 CMS의 표준 입력 오류 페이지에서 이미지를 업로드 할 수 없습니다.

<f:image />은 이미지를 다른 크기로 표시하고 자르기 때문에 유용합니다. 이 모든 것은 ViewHelper에서 구현되지만, ViewHelper에게 업로드 디렉토리에서 내 이미지를 가져 오도록 말할 수는 없습니다.

페이지의 이미지 사용 방법을 도와주세요. 페이지에 이미지를 업로드하기위한 메뉴는 백엔드에서 유용하지만 프론트 엔드에는 결과를 표시 할 수 없습니다. 이 같은

답변

1

이 경우, 업로드 디렉토리가 TCA columns config (uploadfolder)에 설정되어, 당신은 your own viewHelper를 작성하고, 예를 들어 업로드 디렉토리를 얻을 수 있습니다

/** 
* @param Tx_(extkey)_Domain_Model_(entity class) $entity 
* @return string rendered image tags 
*/ 
public function render($entity) { 

    $html = ''; 

    $GLOBALS['TSFE']->includeTCA(); 
    $uploadfolder = $GLOBALS['TCA']['tx_(extkey)_domain_model_(entity class)']['columns']['(column_name)']['config']['uploadfolder']; 

    $images = explode(',', $entity->getImages()); 

    foreach ($images as $image) { 
     $html .= $this->getImageTag($uploadfolder, $image, $width); 
    } 

    return $html; 
} 

는 이미지 태그를 포맷하는 코드에 대한 Tx_Fluid_ViewHelpers_ImageViewHelper 클래스 (특히 render 방법)에서보세요.