2016-10-05 1 views
1

내 MacOS에 ApostropheCMS 2 사본이 설치되어 있지만 블로그 모듈이있는 상황이 있습니다. 기존 블로그 기사를 편집하려고하면 "해당 항목이 없습니다."라는 메시지가 표시되지만 기사 목록에서 볼 수 있습니다.아포스트로피 CMS 블로그 모듈 : "해당 항목이 없습니다."

그래서, 여기 app.js입니다 :

'apostrophe-blog': { 
    widget: true, 
    contextual: true 
}, 
'apostrophe-blog-pages': {}, 
'apostrophe-blog-widgets': {}, 

와 '모듈 {'이전

내가 가진 :

bundles: [ 'apostrophe-blog' ], 

내 아포스트로피 블로그-page.html이 포함

{% block main %} 
    <div class="main-content"> 

     {{ apos.area(data.page, 'body', { 
     widgets: { 
      'apostrophe-blog': {} 
     } 
     }) }} 

    </div> 
{% endblock %} 

지금 : 기사 목록에서/블로그 페이지가 비어 있습니다. 모든 기사를 볼 수 있지만 한 번 편집하려고하면 "해당 항목이 없습니다."라는 오류가 있습니다.

모든 솔루션?

+0

안녕하세요, 저는 P'unk Avenue의 Apostrophe의 수석 개발자입니다. 이 구성은 "샌드 박스"프로젝트 (라이브 데모를 지원하는 프로젝트)에도 있습니다 : https : // github.com/punkave/apostrophe-sandbox 설명하는 시나리오를 테스트했지만 문제를 재현 할 수 없습니다. 아포스트로피 및 아포스트로피 - 블로그 모듈의 버전은 무엇입니까? 다음을 확인하십시오 : 'package.json' In node_modules/apostrophe and node_modules/apostrophe-blog. 감사합니다. –

+0

안녕하세요 @boutell, 격렬한 반응에 감사드립니다. 여기 내 package.json :'{ "name": "test-project", "version": "2.0.0", "description": "Minimal test-project", "main": "app. JS ", "스크립트 ": { 는": ": { "유형 ":"자식 ", "URL ":" " }", 을 저장소 "를"노드는 app.js 시작} ", " 저자 ":"P'unk Avenue ", "라이센스 ":"MIT ", "종속성 ": { "아포스트로피 ":"^ 2.0.0 ", "아포스트로피 - 리디렉션 ":"^ 0.5.7 " }' – Marco

+0

두 패키지 버전 : ** ├─ 아포스트로피 - 블로그 @ 2.0.0 외부 ** 및 ** ├ - [email protected]** – Marco

답변

0

그래서이 문제를 조사해 보았습니다. 이전 버전의 Apostrophe 또는 그 중 하나의 종속성과 관련이 있습니다 (오류가 발생한 위치를 정확히 확인할 수 없었습니다).

여기 격리 된 VM에서 실행중인 3 가지 아포스트로피 배포에서 본 시나리오가 있습니다.

아포스트로피 블로그 모듈이 간헐적으로 Mongo의 새로 작성된 문서에서 publishedAt 속성을 자동으로 생성하는 것을 멈 춥니 다. 참고로 당신은 당신의 데이터를 파기하는 경우 다음과 같은 쿼리를 사용하여 aposDocs 컬렉션을 찾을 수 있습니다

목록 블로그 기사

db.getCollection('aposDocs').find({"type": "apostrophe-blog"}) 

목록 누락 된 속성이 블로그 기사를

db.getCollection('aposDocs').find({"type": "apostrophe-blog", "publishedAt": {$exists : false}}) 

다음 문장으로 속성에 다시 추가하면 깨진 기사를 수정할 수 있습니다.

db.getCollection('aposDocs').update({"type": "apostrophe-blog", "publishedAt": {$exists : false}}, {$set: {"published": false, "publishedAt": ""}}) 

기사가로드됩니다. 다음 단계는이 일이 다시 일어나지 않게하는 것입니다. 우리가 발견 한 것은 설치가 시대에 뒤진 것입니다. 꽤 실질적으로 오래된했다

apostrophe   2.1.5 2.10.2 2.10.2 apostrophe 

우리의 경우 아포스트로피에서 :

npm outdated 

다음과 같이 보고서를 뱉어 것이다 : 업데이트해야하는 경우 알아 보려면 다음 명령을 실행할 수 있습니다. 다음을 통해 업데이트했습니다.

npm update apostrophe 

이렇게하면 설치가 최신 상태로 유지됩니다. 이제 우리는 publishedAt 속성이 DB에있는 모든 새로운 아포스트로피 - 블로그 문서에 대해 자동으로 생성되었음을 확인했습니다.