저는 테이블로 된 html/JS 인터페이스를 사용하는 회사에서 일하고 있습니다. 이들은 각 셀에 쿼리 이벤트가 첨부 된 집에서 자란다. 이전의 사용법에서는 적합했지만 행과 셀간에 필요한 상호 작용은 클라이언트 측에서 훨씬 더 복잡해졌습니다. 특히 그들은 서버 측과 클라이언트 측 검증을 원합니다.Zend Forms 및 Ext.grid.Panel
필자가보고 한 개발자는 Zend_Forms에 매우 능숙하며 ExtJS와 같은 프레임 워크를 사용하기 위해 엔드 및 프런트 엔드 코드를 두 번 다시 작성하지 않으려 고합니다 (if ign if if 그것은 어쨌든 이것을해야만 할 집에서 자란 모든 것입니다).
그래서 염두에두고, Zend_Form decorators을 활용하여 Ext.grid.Panel column defintions을 만들려고합니다. 이를 위해 배열을 내보내려면 (그리고 ViewHelper를 사용하여 json으로) 데코레이터를 사용하거나 JSON 문자열을 직접 렌더링해야합니다.
그래서이 될 것 같은 뭔가 :
$dateElement = new Zend_Form_Element_Text('startDate', array(
'label' => 'Start Date',
'validators' => array(
new Zend_Validate_Date()
)
));
echo (string)$dateElement;
것 출력 : (하지 문자열 캐스트와,하지만 어쩌면 ->toArray()
또는 뭔가 분명히)
{ text: 'Start Date', dataIndex:'startDate', xtype:'datecolumn'}
나 :
array('text' => 'Start Date', 'dataIndex' => 'startDate', 'xtype' => 'datecolumn')
나는이 단계에 이르면 내가 필요한 것을 얻을 수 있다고 생각한다.
다른 사람들이 여기에 비슷한 것을하려고 했나요 (데코레이터를 사용하는 Zend_Forms의 HTML이 아닌 JSON/XML/다른 마크 업 출력을 얻는 것), 아니면 어떤 리소스를 가리킬 수 있습니까? 나는 해결책을 가지고 생각
원하는 것은 필드와 그의 이름을 JSON 또는 XML로 인쇄하고 HTML이없는 것과 같습니다. ExtJS를 사용하지 않았기 때문에이 질문을하지만, 이것이 원하는 것이라면 나는 해결책의 일부를 가지고 있다고 생각합니다 ... 당신이 Decorators의 결과물로 원하는 것을 보여 줄 수 있습니까? –
전체 요소를 JSON으로 표현할 수 있고, 렌더링 된 요소가 HTML에서 '표현 된'것과 동일한 방식으로 유효성 검사를 생략 할 수 있기를 원합니다. 그 열쇠는 여기에, 내가 자바 스크립트를 통해 백 엔드에서 유효성 검사를 통과하고 싶습니다, 그래서 나는 사용자 편의성을 js 유효성 검사를 할 수 있고 또한 PHP에서 다시 보안상의 이유로 $ _REQUEST를 위생적인 것으로 신뢰할 수 없다는 것을 확인합니다. . – Drew