[재등록] 프로그래밍 노드생성과 변수전달에 관한 질문이 있습니다.

댓글 시스템에 문제가 생긴 것 같아,
cotnals2 님의 글을 다시 옮겨서 생성했습니다.

cotnals2 님, 양해를 바랍니다.

원본글 : (이상하게도 댓글이 더 이상 추가불능이네요)
http://palpal.org/node/581

------

안녕하세요 드루지기님!
요즘 한창작업하는것중 하나가.. 하나의 폼에서 노드를 만들때
설정값에따라 다른 노드가 복사되는것을 만들고 있는데요.
변수전달과정에 이해가 안되는것이 있습니다.

작성중인 컨텐트의 저장을 누를때마다 같은값의 노드가 복사되는 과정은 프로그래밍 했고 잘 동작합니다.
그런데 여기서 복사되는 노드의값에 약간의 변화를 주고 싶은데요.
컨텐츠타입 Form 에 임으로 만든 input 폼이 있고 (드루팔 DB 엔 포함안시킴)
여기에 변수를 주어서 복사되는 노드값에 변화를 주고 싶습니다.

예를들면 날짜필드엔 오늘날짜가 들어가야 하는데, 추가 input 에 넣은값으로
복사되는 노드의 날짜값이 바뀌는것이죠.

임의의 모듈을 만들어 거기에 노드복사 함수를 만들어 특정 컨텐트타입이 submit 될때마다 복사가 됩니다.
값은 $form_state 에 저장된 노드의 값이 들어있어 가져다 쓰면 되는데..
임의로 만든 변수를 어떻게 전달해야 할지 감이 안잡힙니다.

제가 생각한 방식은 이렇습니다.
1. $form_state[] 에 변수를 입력하는 방법을 찾는다.
2._GET["$variable"] 을 이용하여 URL 로 변수를 전달시킴.

form 과 node 사이 혹은 모듈과 node 사이에 변수전달방식에 관한 도움을 좀 받을수있을까요?

variable_get 은 이용해

variable_get 은 이용해 보셨지요?

$form_state['storage']['중간전달용_변수묶음'] 방식은 결국, 작동하지 않던가요?

아.. 어제 어쩐지 댓글이 안달려서 문의드리려고

아.. 어제 어쩐지 댓글이 안달려서 문의드리려고 하고있었습니다.

$form_state['storage']['중간전달용_변수묶음'] 사실 이쪽은 아직 개념이 안잡힌 상태였고, 지금 1회용 필드들을 만드느라 노드에 추가정보를 기입하는것도 지양하고 있었습니다.
지금은 문제를 해결한 상태입니다.
제가 아직도 드루팔에 대한 이해가 부족했던 결과였습니다. 덕분에 form 와 module, form_alter 에 대한 개념을 잡았습니다.
form_alter 에서 $form 을 이용하여 필드를 정의해 주소 tpl.php 파일에서 테밍을 하면 되는 간단한 문제였습니다.
이 경우 form_state 에 변수나 값이 등록이 되어 variable_get,set 이나 values 에서 원하는 값을 모두 가져올수있었네요. 그리고 노드가 생성이 되는 이후 값은 다 사라져 버려 제가 원하던 기능을 모두 구현할 수 있었습니다.

저는 tpl.php 파일에서 form 의 정의까지 같이 하려고 하였는데.. 이것이 문제를 일으킨 원인이었습니다.

추가로 variable_get,set 을 이용하여 특정폼에 일정한 데이터를 계속 넣어주는 기능도 구현할수 있었습니다. 예를들면 검색결과 유지,필드값 유지 같은것입니다.

다시한번 감사드려요~~

이제 저한테 남은것은.. ahah form 및 callback 을 이용하여 jQuery 없이두 드루팔내에서 실시간 구동을 하는것에 대한 개념을 잡는것이 남았네요. 지금은 jQuery 를 이용해서 꽤나 복잡하게 폼에 데이터를 채우고 있습니다.

cotnals2님. 최고입니다! 그나저나 어제 댓글

cotnals2님. 최고입니다!

그나저나 어제 댓글 문제 때, 길게 쓴 내용이 날아갔을까 염려됩니다.
그랬다면 다시 한번 더 사과 말씀 드립니다.
아쉽게도 아직도 원인을 모르고 있습니다. (로그에도 어떤 에러가 표시되지 않아 당황)
새로운 글로 임시 해결을 보았습니다만, 좀 더 살펴볼 문제인 것 같습니다.