2011-08-18 7 views
1

필요 : 동적 양식심포니 1.4 양식 Creater

를 구축 할 수있는 능력

구조 (단순한 생각하지 실제 구조)

Admin: Form Assignment, where you create what field you want your new Form to have 
FrontEnd: Where the New form will be implemented (this is the root of this question) 
FronEnd Storage: When the New form is filled out the data points are written to a set of tables 

아이디어는,,, fieldType을 필드를 선택, 관리자로 이동 충분한 간단하고, 원하는 레이블

IE

Field Name:*Enter a specific field name, like f_name or email 
FieldType: [Text, TextArea, Password, Radio, DatePicker, CheckBox, Select, etc] 
Label: What to display on the resulting form, f_name = First Name, etc 

그때 나는 새로운 형태, 나는 그것을 작성 생성 및 데이터가 프런트 엔드 스토리지 테이블에 저장됩니다 짜잔 된 프런트 엔드에 페이지를 기록했다.

이 질문을 던집니다.이 작업을 수행하는 방법에 대한 아이디어가 있습니다. 이미 관리자 섹션을 만들었습니다. 동적으로 작성하고 프론트 엔드를 적절하게 바인딩하고 있습니다. 조언을 원합니다.

현재 내 생각은 단순히 각 필드

나는이 느낌 (관리 영역에 입력 한 것과 주어진 필드)에 대한 sfForm 요소와 적절한 검증을 구축 거대한 추악한 switch 문이다 쉘 형태를 만드는 것입니다 그것을하는 '잘못된'방법입니다, 나는 플러그 접속 식 'spyFormBuilderInterface2Plugin'을 발견했는데 그것은 오래된 것이고 propel이 아니라 doctrine을 위해 만들었지 만 이것은 내가 무엇을했는지에 대한 기본적인 생각입니다. 그러면 어떻게 할거야?

나는 이미이 작업을 수행 할 수 있습니다 동적으로 현재 양식에 양식을 추가 할 찾고 있지 않다주의 그리고, 내가 만든 새로운 형태의 데이터를 취할 필요가 정확히 내 관리 섹션에서 구현 제발 프로그래밍 방식

답변

1

나는 당신이 말한 것처럼 당신이 묘사 한 것과 같은 것을 만들었습니다.

양식을 정의하는 FormDefinition 모델이 있고 컬렉션은 FormField입니다. 각 양식 필드는 widget_class, widget_options, validator_classvalidator_options입니다.

나는 사용자 정의 myForm을 가지고 있는데, 생성자에는 FormDefinition이 필요합니다. setup()myForm 인 경우 모든 필드를 반복하면 위젯과 유효성 검사기가 인스턴스화됩니다.

우리의 솔루션에서 Beacuse, 우리는/별도의 테이블에 모든 양식 데이터를 저장해야했습니다. 내 myFormsfDoctrineForm에서부터 확장되며 백엔드에는 적절한 Doctrine 메소드를 호출하여 (php) 모델 및 데이터베이스 정의를 작성/업데이트하는 로직이 있습니다. 그러나 EAV 저장소를 만들 수도 있습니다.

관련 문제