Drupal 7 웹 양식을 코드로 저장


8

코드에 웹 양식을 저장하는 솔루션이 있는지 궁금합니다. 다른 사이트에서 쉽게 복제하고 자신의 모듈과 번들로 묶을 수 있습니다. 뷰 API와 비슷한 것을 살펴보고 있습니다.

해당 기능에 관심이없는 사람이 몇 명입니까? 코드에 웹 양식 저장을 처리 할 수있는 모듈을 개발할 수 있습니다. 그리고 그러한 모듈을 만드는 데 관심이 있습니까?

고마워, Jaap


Webform 모듈로 작성된 양식을 의미합니까?
Mołot

1
예, webform 모듈로 만든 양식을 의미합니다
Jaap Jansma

1
실제로는 매우 쉽습니다 . Webform 공유 가 어떻게 작동 하는지 살펴보십시오 . ( webform_share_export()그리고 webform_share_node_insert()돈 함수입니다). 의 사용을 승인한다고 말할 수는 없지만 eval()JSON 객체 / 직렬화 된 문자열을 대신 사용하도록 쉽게 변환 할 수 있습니다. 극복해야 할 유일한 (작은) 어려움은 웹 양식을 새 노드에 적용하는 방법과 웹 양식을 연결하는 데 필요한 노드입니다.
Clive

답변:


1

실제로는 필요하지 않습니다.

  1. 코드에서 사용 가능한 양식이 필요한 경우 Form API 양식을 처음부터 작성하기가 어렵지 않습니다. 뷰와 달리, Webforms는 노드 ID 만 테마로 할 수 있으며 사이트마다 변경 될 수 있으므로 모듈과 함께 번들로 제공되는 Webform 양식은 편리하지 않습니다.

  2. 모듈과 함께 양식을 번들로 제공하고 어떤 이유로 든 양식 API를 사용할 수없는 경우 UUID 기능 통합 및 웹 양식 공유 가이를 수행하는 방법을 제공합니다. 순수한 의미 의 코드 는 아니지만 작동해야합니다.

  3. hook_form_alter특정 웹 양식의 양식 API 표현을 얻는 데 비교적 사용 하기 쉽습니다 . 물론 나중에 쉽게 변경할 수는 없지만 다시보기와 달리 좋은 결과입니다. 일부 데이터가 표시되지 않으면 모듈이 손상되지 않습니다. 제공되지 않거나 모듈이 예상하지 못한 방식으로 제공되는 데이터는 문제를 일으킬 수 있습니다. 따라서 모듈에 양식이 필요한 경우 편집하기가 쉽지 않습니다 . 양식을 편집하려면 어쨌든 모듈의 코드를 편집해야하므로 Form API 코드를 사용하면 이러한 상황에서 장기적으로 어렵지 않게 작업을 수행 할 수 있습니다.


1
이것이 대안에 대한 좋은 대답이지만 웹 양식을 코드로 유지하려는 것은 상당히 합리적인 요청이라고 생각합니다 (필요하지 않거나 실제로 불가능하다는 것에 동의하지 않습니다). 예를 들어 UI를 통해 사용자가 확장 할 수있는 모듈과 함께 기본 연락처 양식을 제공하려는 경우 웹 양식이 이상적입니다. UI를 직접 구축하는 것은 정말 고통스러운 일입니다. 때문에 webform오브젝트 (? 또는 어레이) 어쨌든 노드 객체에 앉는는 직렬화 할 수 있고, 쉽게 재 도포
클리브

@Clive 그러나 기본 연락을 위해 왜 누군가가 실제 코드를 요구합니까? 노드를 내 보내지 않은 이유 (UUID 기능 통합을 통해 노드를 모듈로 내보낼 수 있음)가 충분하지 않은 이유는 무엇입니까?
Mołot

해당 모듈이 Webform 객체도 동기화합니까?
Clive

@Clive 내가 기억하는 한, 몇 가지 문제가 있지만 그렇습니다. 사용자 정의 코드 에 양식의 데이터가 필요한 경우 웹 양식을 위험하게 만들지 않습니까? Webform에서 필드가 삭제되지 않도록 할 수있는 방법은 없습니다 (그러나 나는 열심히 보지 않았다는 것을 인정합니다).
Mołot

1
실제로, 웹폼 이 통합 작업을 수행 할 수 있는 패치 도 있습니다. 나는 그것을 다시 가져옵니다 :)
Clive
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.