나는 지난 주 게시물에 일련의 질문을했고, 매우 현명하게 대답 한 사람은 질문을 분리하여 제안했다. "원격 게시"라는 폴더에 대해 CMF 작업을 추가했습니다. 모든 폴더에 대해 '콘텐츠'탭이 표시되면 버튼이 표시됩니다. 단추를 클릭 할 때 선택한 항목의 제목을 로그에 쓰는 것처럼 간단한 작업을 수행하는 논리를 어떻게 추가 할 수 있습니까? 궁극적으로 나는 선택한 항목이 내가 작성한 웹 서비스로 제목을 공유하게 할 것이지만 나는 아기 단계를 생각하고있다 : D 어떤 도움도 인정된다.선택한 모든 항목에 적용되는 폴더의 콘텐츠 탭에서 작업을 어떻게 작성해야합니까?
0
A
답변
2
가장 간단한 방법은 : 다른 버튼이 무엇을하고 있는지 복사하는 것입니다!
예 : CMF 스킨 스크립트 이름 folder_delete.cpy을 복사하십시오. REQUEST에서로드 된 경우 paths
매개 변수가 표시됩니다.
+0
content_status_history 컨트롤러 페이지 템플릿을 복사하는 원래의 방식을 유지하기 위해 content_status_modify 컨트롤러 Python 스크립트를 복사했지만 그 외 언급하지 않았습니다. 워크 플로 코드를 제거하고 ZMI 작업 탭을 통해 동작을 추가하여 양식 단추를 클릭 할 때 올바른 스크립트를 참조했습니다. 선택한 항목을 반복하면서 plone 로그에 기록하지 않고 req.RESPONSE.write (","join (req.get ('paths', []))) – user1075722
하지만 지금 당신의 행동은 무엇입니까? –
지금 취할 조치가 없습니다. 이것이 실제 질문입니다. 액션을 수행하기위한 코드는 어디에 추가해야합니까? 그리고 사용자가 버튼을 클릭했을 때 선택 (선택) 된 컨텐트 항목에 대해서만 반복 작업을 수행하는 방법은 무엇입니까? 지금까지는 portal_actions> folder_buttons를 통해 스텁을 만들었을뿐입니다. 단추를 클릭 할 때 코드를 넣을 위치를 알아야하거나 사용자 지정 작업에 대한 자습서의 위치를 알아야합니다. – user1075722
템플릿의 '상태 변경'CMF 작업을 사용했습니다. URL 표현은 'string : content_status_history : method'입니다. 저는 ZMI 아래의 portal_skins> plone_forms에 content_status_history 컨트롤러 페이지 템플릿을 배치했습니다. 나는 이것을 복사하여 portal_skins> custom의 내 content_remote_publish CPT에 사용했습니다. 양식에 대한 작업을 처리 스크립트와 연관 시키려면 portal_skins> plone_form_scripts와 동일하게 컨트롤러 Python 스크립트와 일치 시키십시오. 로그에 기록하려면 응답을 마치기 전에 끝내야합니다. – user1075722