2012-10-19 3 views
1

SilverStripe CMS에서 여러 개의 UploadField에 문제가 있습니다.SilverStripe 3 개의 UploadField 문제

이미지를 많이 업로드하면 이미지가 올바르게 업로드되고 미리 보입니다. 그러나 페이지를 저장하고 프런트 엔드를 다시로드하고 보면 이미지가 없습니다. 미리보기는 빈 이미지 여야하며 프런트 엔드에 URL 출력이 없습니다.

이미지가 assets 디렉토리에 업로드되고 데이터베이스의 파일 경로가 올바른 것입니다. 나는 지금 약간의 손실에 처해있다.

여기 내 페이지 모델

<?php 
class Page extends SiteTree { 

public static $db = array(
); 

public static $many_many = array(
    'Images' => 'Image' 
); 

    public function getCMSFields() { 
    $fields = parent::getCMSFields(); 

    $fields->addFieldsToTab('Root.Main', new UploadField('Images','Images',$this->Images()), 'Content'); 

    return $fields; 
} 

} 

답변

2

의 코드는 그것과 함께 사이트의 바로 앞 끝 당신의 가진 문제를가요? 이미지를 표시하기 위해 템플릿 파일에서 사용중인 코드를 표시 할 수 있습니까? 당신은 $ Image.whatever을 사용할 수 없습니다

<% loop $Images %> 
    $setSize(150,150) // whatever you want to use here 
<% end_loop %> 

처럼

그것이 보일 것입니다, 그것은 작동하지 않습니다.

+0

프런트 엔드뿐만 아니라 CMS에도 있습니다. –

+0

addFieldsToTab() 함수에서 $ this-> Images()를 제거해보세요. –

+0

$ this-> Images()를 제거해도 동일한 문제가 발생했습니다. 확실하지 어디에서 복사/붙여 넣기 ... – nnevala

0

"simple"이라는 기본 테마를 사용하고 있고 백엔드 (CMS)에 "페이지"유형의 페이지를 만들고 이미지를 업로드하고 게시 된 페이지가 있다고 가정합니다.

로 이동 :

루트 폴더 -> 테마 -> 간단한 -> 템플릿 -> 레이아웃 -> 파일 열기 "Page.ss"

유형 (솔루션 위의 "Ryan M"제공)

<% loop $Images %> 
    $setSize(150,150) 
<% end_loop %> 
(210)

<div class="content">$Content</div> 

후 이동 브라우저의 주소 표시 줄에 페이지의 URL을 제공하여 프론트 엔드입니다.