it-swarm-ko.tech

Revisioning의 "최신보기"탭에서 "최신"비디오를 얻으려면 어떻게해야합니까?

Revisioning 모듈을 사용하여 콘텐츠 수정을 처리하고 있으며 적절한 콘텐츠를 생성하기 위해 사용자가보고있는 노드의 vid가 필요한 사용자 지정 블록을 만들고 있습니다. 나는 이것을 얻기 위해 menu_get_object ()를 사용하려고 시도했고 수정이없는 노드에서 잘 작동합니다.

"최신보기"탭을 통해보고있는 Draft에 보류중인 개정판이있을 때 menu_get_object ()에서 얻은 node-> vid는 "최신"버전이 아니라 "현재"버전의 vid입니다. 실제로 사용자에게 표시되는 버전의 영상을 얻는 가장 좋은 방법은 무엇입니까?

3
markdorison

Revisioning 모듈을 파헤쳐 그들이 어떻게 확인하는지 확인하고 모듈의 도우미 기능에 사용하도록 조정했습니다. 먼저 menu_get_object()을 사용하여 노드를로드 한 후 다음을 호출합니다.

function _get_correct_revision($node) {
  if (module_exists('revisioning')) {
    if (_revisioning_load_op($node, 'view') == REVISIONING_LOAD_LATEST) {
      $vid_to_load = revisioning_get_latest_revision_id($node->nid);
      $node = node_load($node->nid, $vid_to_load);
    }
  }
  return $node->vid;
}
3
markdorison

개정 프로젝트 페이지에는 node_load가 개정과 관련된 몇 가지 추가 속성을 제공한다고 나와 있으며 찾고있는 것 같습니다.

$node->is_pending;
1
Dipen