9
Zend Framework / Dojo-Integration 20. August 2009 | Annika Rabea Stahlberg

Zend Framework and Dojo

Embed Size (px)

Citation preview

Zend Framework / Dojo-Integration

20. August 2009 | Annika Rabea Stahlberg

2

Zend Framework / Dojo-Integration

© MAYFLOWER GmbH 2009

Übersicht

❙Zend Framework❙Dojo Toolkit❙Zend_Dojo

❙ …einbinden❙ …Verwendung in Views (Beispiel:

TabContainer)❙ …Verwendung mit Formularen

3

Zend Framework / Dojo-Integration

Zend Framework

❙Open Source PHP Framework❙objektorientiert implementiert❙Komponenten weitestgehend voneinander

unabhängig❙Latest Stable Release Version 1.9.1 (August

2009)❙http://framework.zend.com

© MAYFLOWER GmbH 2009

4

Zend Framework / Dojo-Integration

Dojo Toolkit

❙Open Source JavaScript Toolkit❙…bestehend aus

❙dojo❙dijit❙dojox

❙Latest Stable Release Version 1.3.2 (Juli 2009)❙http://www.dojotoolkit.org

© MAYFLOWER GmbH 2009

5

Zend Framework / Dojo-Integration

Zend_Dojo

❙Unterstützung JSON-RPC❙dojo.data-Kompabilität❙View-Helper zum Einrichten des Dojo-Umfelds❙dijit-spezifische Zend_View-Helper❙dijit-spezifische Zend_Form-Elemente und -

Dekoratoren

© MAYFLOWER GmbH 2009

6

Zend Framework / Dojo-Integration

Dojo einbinden

❙ZF „Full Package“ herunterladen❙View-Helper bekannt machen und konfigurieren

❙Konfiguration ausgeben

$view = Zend_Layout::getMvcInstance()->getView();// entwederZend_Dojo::enableView($view);// oder$view->addHelperPath('Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper');

$view->dojo()->addStyleSheetModule('dijit.themes.tundra') ->setLocalPath('/js/dojo/dojo.js') ->enable(true);

<?php if($this->dojo()->isEnabled()): ?><?php echo $this->dojo() ?><?php endif; ?>

© MAYFLOWER GmbH 2009

7

Zend Framework / Dojo-Integration

View-Beispiel: TabContainer

<?php$this->tabContainer()->captureStart('container'); $this->contentPane()->captureStart( 'form', array( 'title' => 'Formular‚ ) ); ...Content... echo $this->contentPane()->captureEnd('form');echo $this->tabContainer()->captureEnd('container');?>

❙TabContainer: dijit.layout.TabContainer ❙ContentPane: dijit.layout.ContentPane

© MAYFLOWER GmbH 2009

8

Zend Framework / Dojo-Integration

Formular-Beispiel

❙Bei vorhandenen Formularen Dojo verwenden

❙Setzt Prefix-Pfade für Elemente, DisplayGroups, Dekoratoren - auch für SubForms

❙Zend_Dojo_Form verwenden

$form = new Zend_Form();Zend_Dojo::enableForm($form);$form->addDecorator('DijitForm')

$dojoForm = new Zend_Dojo_Form();

$dojoForm->addElement('DateTextBox', 'geburtstag', array( 'label' => 'Wann hast du Geburtstag?', 'datePattern' => 'dd.MM.yyyy', 'required' => true));

© MAYFLOWER GmbH 2009

Vielen Dank für Ihre Aufmerksamkeit

Annika Rabea Stahlberg

MAYFLOWER GmbHPleichertorstr. 297070 Würzburg

+49 (931) 35 9 65 - 1121

[email protected]