2011-01-28 2 views
0

hook_form_alter를 사용하여 노드 양식에 사용자 정의 제출 기능을 추가하는 모듈을 작성했습니다. 이 함수는 원래 노드 제출 함수를 제거하기위한 것이 아니며 노드 데이터를 데이터베이스에 삽입하기 전에 노드 데이터를 변경하기 만하면됩니다.Drupal 6 제출 된 노드 데이터를 변경하는 사용자 정의 제출 기능

문제점은 노드를 추가 할 때 게시 된 양식 배열을 내 모듈에서 인쇄 할 때 배열이 방대하고 게시 된 데이터가 여러 번 반복되는 것 같습니다. 이 배열의 어느 부분을 변경해야하는지 알 필요가 있습니다. 그래서 변경된 값이 데이터베이스에 삽입됩니다.

모듈을 조금 확장하면 다음과 같은 방식으로 작동합니다. 내 모듈은 사용자 정의 제출 기능을 노드 양식에 첨부합니다. 사용자가 노드 (수많은 CCK 필드 포함)를 제출합니다. 일부 필드는 비어 있습니다. 내 사용자 정의 제출 기능은이 필드를 찾아 값을 추가합니다. 그러면 노드가 데이터베이스에 삽입됩니다.

내가 사용하고있는 모듈과 함수는 완벽하게 작동하지만, 제출 된 배열의 어떤 부분을 변경하여 노드 모듈 자체의 submit 함수로 사용자 정의 데이터를 삽입해야하는지 찾을 수 없다. 나는 배열을 게시 할 것이지만 그 크기 때문에 누군가는 그것을 원한다면 어떻게 든 보낼 수 있지만, 아마도 적당하지는 않을 것이다.

마지막으로, 나는 달성하고자하는 것과 비슷한 일을하는 더 쉬운 방법이 있다는 것을 알고 있지만, 불행히도 이것은 상황의 유일한 옵션입니다.

답변

0

누군가의 시간을 낭비하는 사과, 나는 제출 된 값이 $ form_state [ 'values']에 실제로 저장 될 때 $ form 배열을보고있었습니다.

관련 문제