[XE 3, Xpressengine 3] 에디터에 첨부된 이미지를 가져오는 로직 변경하기.

XE 3 (Xpressengine 3) 에서 사용하는 에디터 (Editor) 에 첨부된 이미지를 가져오는 로직을 변경하는 방법을 소개합니다.

여기서 확인할 클래스는 Xpressengine\Editor\AbstractEditor 하나만 보면 됩니다.

 

에디터 (Editor) 에 첨부된 이미지를 가져오는 로직은 `AbstractEditor::$imageResolver` 에 저장되고 있습니다.

그래서 특정 라우트에서 기존에 사용하던 로직이 아닌 다른 로직을 사용하려면 `AbstractEditor::setImageResolver` 함수를 호출해야 합니다.

 

아래 코드를 사용하면 썸네일 (Thumbnail)을 사용하지 않고 업로드한 파일 그대로 사용하는 방법으로 변경할 수 있습니다.

AbstractEditor::setImageResolver(function (array $ids) {
    $fileClass = $this->app['xe.storage']->getModel();
    $files = $fileClass::whereIn('id', $ids)->get();

    $images = [];
    
    foreach ($files as $file) {
        $images[] = $this->app['xe.media']->make($file);
    }

    return $images;
});

 

  • share