2017-03-28 5 views

답변

0

저는 P'unk Avenue의 Apostrophe 건축가입니다.

이러한 모듈은 정확하게 대안이 아닙니다. 사실 apostrophe-filesapostrophe-images은 모두 apostrophe-attachments 위에 만들어집니다.

apostrophe-file 란 무엇입니까? 제목, 메타 데이터 및이 경우에는 attachment 필드가있는 아포스트로피 문서 인 "조각"입니다. 블로그 게시물이나 이벤트와 마찬가지로 조각이기 때문에 관리자 막대를 통해 모든 파일을 관리 할 수 ​​있으며 apostrophe-files-widgets을 사용하여 사이트 주위에 다운로드 링크를 표시 할 수 있습니다.

그럼 attachment은 무엇입니까? 스키마 필드입니다. 아포스트로피의 모든 유형의 문서 (예 : 조각 또는 페이지)의 스키마에 포함 할 수있는 유형의 필드입니다.

대부분의 스키마 필드 유형은 매우 간단합니다. 예를 들어 string 필드 유형은 문자열로 구성됩니다. boolean 필드 유형은 true 또는 false입니다.

첨부 파일은 약간 까다 롭습니다. 이상적인 세계에서 ... 데이터베이스 디자인의 관점에서 ... 파일의 실제 내용은 문서에서 올바르게 작동합니다. doc.headshot은 실제 JPEG 데이터 일 수 있습니다 (또는 일부 메타 데이터에 더하여).

하지만 우리는 파일이 매우 크기 때문에 MongoDB 문서에 적합하더라도 (항상 그렇지는 않음) 관심을 가지지 않을 때 매우 비효율적입니다. 지금 당장.

그래서 findOne을 사용하여 mongo 셸에 표시 할 경우 일반적인 apostrophe-file 조각이 MongoDB에서와 유사합니다. 나는 단순함을 위해서 그것을 조금 덜어 뒀다. attachment 속성을 주목하라 :

{ 
    "_id" : "xyz", 
    "type" : "apostrophe-file", 
    "title" : "Field Trip Permission Slip", 
    "slug" : "file-field-trip-permission-slip", 
    "attachment" : { 
     "type" : "attachment", 
     "_id" : "qqq", 
     "name" : "permission-form", 
     "extension" : "pdf" 
    }, 
} 

attachment 필드는 자신의 _id있다. 그리고 _id, name 속성 및 extension 속성 사이에서 apos.attachments.url() 메서드는 URL을 조합하여 다운로드 할 수 있습니다.

그래서 우리가 무엇을 사나요? 적응성. 사이트 전체에서 단일 PDF 라이브러리를 재사용하고 싶습니까? apostrophe-files을 사용하고 apostrophe-files-widgets을 사용하여 사이트 주위에 다운로드 링크를 표시하십시오.

는 특정 사람의 profile 조각에 resume 속성을 연결하고 공유 라이브러리의에서 그것을 를 유지하기 원하십니까?

// in lib/modules/people 
module.exports = { 
    extend: 'apostrophe-pieces', 
    addFields: [ 
    { 
     type: 'attachment', 
     name: 'resume' 
    } 
    ] 
} 

을 우리는 파일을 선택하는 위젯을 사용할 수도 있지만, 우리는 이력서의 수천 파일의 공유 라이브러리를 복잡하게하고 싶지 않았다 : 대신 입력하여 조각에 대한 스키마에 attachment 필드를 사용합니다. 그래서 우리는 방금 attachment 속성을 추가하여 이력서에 직접 보냈습니다.

따라서 템플릿에서 첨부 파일의 일부인 URL을 어떻게 구합니까?이처럼 :

apos.attachments.url(data.piece.resume)

apostrophe-files, apostrophe-imagesapostrophe-attachments로 수행 할 수있는 작업에 대한 자세한 내용은 설명서를 참조하십시오. 이 자습서에는 많은 예제가 있는데 특히 apostrophe-images-widgets입니다. 바라건대이 대답은 언제 어떻게 attachment 필드를 직접 사용할 지에 대한 감각을 제공합니다.

희망이 있습니다.

+0

고마워요! 그게 많이 지워집니다. 건배. – user1007918