2011-08-15 2 views
3

recent change에 대한 사용자의 현재 언어로 된 항목 만 표시 (Plone이 d.p.org로 Google 캐시에 연결되어있는 것 같습니다) Plone에서 full_review_list보기의 리뷰 목록을 계산하는 방식입니다. LinguaPlone을보다 잘 지원하기 위해 WorkflowTool은 작업 목록을 검색하는 데 사용 된 쿼리에 Language='all'을 명시 적으로 추가하지만 사용자의 현재 언어로 된 결과 만 표시됩니다. 코드는 Products.CMFPlone.WorkflowTool#getWorklistsResults()입니다.Plone> 4.0.7

이전 동작을 얻으려면이 새로운 동작을 재정의 할 수 있습니까?

답변

2

우리는 ZCML 재정의를 통해 맞춤 설정을해야합니다.하지만 당신이 옳습니다. 그 양식에서는 간단하게 재정의 할 수 없습니다. 그래서 당신이 취할 접근법에 상관없이, 당신은 그 방법을 복사하고 그것을 다른 곳으로 수정 한 다음 그것을 사용자 정의 된 버전이 우선하도록 연결해야 할 것입니다.

어디에서 변경 사항을 확인해야합니까? 초기 검토 목록 포틀릿에 있습니까? 이 경우 해당 포틀릿에 대해 overriderenderer을 추가하고 새 렌더러에 메서드를 추가하고 코드를 복사 한 다음 변경 한 다음 portal_workflow 대신 렌더러 메서드를 사용하도록 렌더러를 재정의합니다.

전체 검토 목록의 변경 사항을 포틀릿에서 클릭하여 확인하려면 collective.monkeypatcher을 사용하여 portal_workflow에서 메소드를 패치해야합니다. 나는 이것을 반대 할 것을 권합니다. 사용자가 모든 언어로 전체 리뷰 목록을 볼 수있는 곳을 원할 것이기 때문입니다.

+0

우리의 경우에는 언어별로 편집자가 있으므로 "모든"보기가 필요하지 않습니다. 사실 그것은 콘텐츠 관리자에게 적극적인 좌절감입니다. 또 다른 해결 방법은 내장 된 사이트 검색을 사용하는 것입니다 : http : //plonesite.com/search? review_state = pending' –

+0

그게 전부라면 그 기준에 맞는 콜렉션을 사용하고 리뷰어가 그 콜렉션을 가리킬 수 있습니다 . OOTB 검토 목록 포틀릿을 가리키는 모음 포틀릿으로 대체 할 수도 있습니다. –

+0

실제 검토 목록 포틀릿은 각 워크 플로가 자체 "작업 목록"상태를 정의 할 수있는 사이트의 모든 워크 플로에 대해 카탈로그 쿼리를 동적으로 어셈블합니다. 따라서 "보류 중"상태에 대한 하드 코드 된 쿼리 만 사용하면 그 동적 동작을 잃게됩니다. OOTB 기본 워크 플로 하나만 사용하는 경우에는 문제가되지 않습니다. –