2014-08-28 2 views
0

drupal 사이트는 서비스 및 services_views를 사용하여 JSON 피드를 생성하는 CMS로 엄격하게 사용되며 별도의 사이트에서 사용됩니다. 내가하고 싶은 것은 (그리고 이것에 대한 작업 증명이있다) 노드 사이트 양식 미리보기/제출을 가로 채고, 노드를 JSON으로 인코딩하고, 특수 형식을로드하여 실제 사이트에서 "실시간 미리보기"를 허용하고있다. JSON을 소비하고 이에 따라 페이지를 표시하는 라이브 사이트의 페이지Drupal 7 (VERY) 사용자 정의 미리보기

이 JSONized 노드의 문제점은 내보기 (services_views 사용)에서 생성되는 JSON과 다릅니다. 최종 목표는 별도의 출력 방법을 유지할 필요없이 미리보기 및 미리보기되지 않은 객체 모두에 대해 동일한 JSON을 생성하는 것입니다 (JSON을 손으로 직접 사용자 정의 할 수 있지만 공개 API에 대한 내보기가 변경 될 때마다 미리보기 JSON과 동일한 변경 사항입니다.

이 방법에 대한 의견을 찾고 있습니다. 나는 가능한 한 시도하고 있는가? 내가 지금까지 가지고 올 수있었습니다 아이디어는 다음과 같습니다

  • 은 (조건부) 일 동안 뷰 객체로 비, 데이타베이스 소스에서 데이터를
  • 저변에서 삽입 데이터를 내보기를 구동 할 수있는 실행 단계 중? Kludgy하지만 나는 그 이상이 아니에요 :)
  • 미리보기중인 노드의 "복제본"노드 (또는 리비전?)를 저장하고 미리보기 JSON을 표시하도록보기를 사용하게 하시겠습니까?

어쩌면 이것이 잘못된 접근 방식 일 수 있으며 더 좋은 점이 있습니까? (내 모듈에서 서비스 출력을 가로 채고 형식을 지정하려고 시도하면 ... services308을 모두 피할 수 있습니다.)

여기에서 최선의 진행 방법에 대한 조언, 통찰력 또는 의견을 제공 할 수 있다면 정말 감사 할 것입니다.

답변

0

사용자 정의 모듈에서보기 페이지의 json 출력을 가져 오는 페이지를 설정할 수 있습니다.

이렇게하면보기가 변경 되어도 미리보기는보기에 계속 바인딩됩니다.

+0

그러나보기에는 이미 노드에 저장된 내용 (db에 저장 됨) 만 표시됩니다. 미리보기 중에 기존 노드 또는 새/모두 저장되지 않은 노드에 대한 저장되지 않은 변경 사항이 있습니다 ... –

0

먼저 나는 달성하려는 노력이 쉽지 않다고 생각합니다. 그러니, 행운을 빈다.

노드 제출 데이터를 가로 채고 프로그래밍 방식으로 노드를 만든 다음 해당 노드를 렌더링 한 다음 렌더링 된 노드를 JSON으로 내보낼 수 있다고 생각합니다. 프로그래밍 방식으로 생성 된 노드는 미리보기 용이므로 JSON을 얻은 직후에이 노드를 삭제하십시오.

이 작업은 CPU 사용량이 더 많을 수 있지만 콘텐츠를 정확하게 볼 때 콘텐츠를 미리 보는 것이 어렵다고 생각합니다.

프로그래밍 방식으로 생성 된 노드 (예견 노드)를 피하기 위해 사이트가 읽는 RSS 피드를 일부 매개 변수로 필터링 할 수 있습니다. 이러한 노드는 매우 짧은 시간 동안 사용할 수있을지라도 사용할 수 있습니다.

관련 문제