Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
bonjour à tous,
en faite j'ai un petit pb avec Zend_dojo_fom, j'aimerai utiliser dojo pour avoir formulaire interactif,
mais en utilisant les classe Zend_Dojo_Form_Element... les element generé sont les même qu'avec la class Zend_Form.
par exemple j'ai voulu crée un sélecteur de date avec la class 'Zend_Dojo_Form_Element_DateTextBox', mais le rendu est le meme qu'une simple zone de texte,
Hors ligne
Les fichiers js sont il bien rajoutés? ou c'est sensé être fait automatiquement?
Je peux t'aider que partiellement étant donnée que je n'ai aps encore regardé Zend_Form_Dojo, jusqu'à aujourdhui' j'utilisais jquery
Hors ligne
Hello,
Mr Moox, tu as donc regardé le nouveau ZendX_Jquery_* ou pas encore .
A+
Hors ligne
A non du tout... En ce moment je prépare la sortie d'un gros site et je fais plus trop de veille...
Il me tarde de regarder ca, même si je pense que ca fait du js inline, chose que j'aime pas trop...
Ne nous écartons pas plus du problème de monsieur
Hors ligne
Slut les gars j'utilise Zend_Dojo_Form et pour ce qui est de ton problème pense a initialiser l'objet vue de dojo dans ton bootstrap avec la commande
Zend_Dojo::enableView($view);
,
$view étant ton objet de vue
$view = new Zend_View();
et ensuite précise dans ton layout le thème à importer en général tundra.
if ($this->dojo()->isEnabled()){ echo $this->dojo()->addStylesheetModule('dijit.themes.tundra'); }
et dans ta balise body tu ajoute la propriété class='tundra'
Hors ligne
merci à tous pour vos réactions ,
en suivant vos instructions j'ai ajouter les 2ligne suivante A mon bootstrap :
$view = new Zend_View(); Zend_Dojo::enableView($view);
et dans la vue j'ai ajouter les lignes suivantes:
<?php if ($this->dojo()->isEnabled()){ echo $this->dojo()->addStylesheetModule('dijit.themes.tundra'); } ?> </head> <body class='tundra'> <?php echo $this->form ;?> </body> </html>
mias lors de l'execution je trouve cette erreur : ;
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name Dojo was not found in the registry.' in C:\wamp\www\centrale_reservation\library\Zend\Loader\PluginLoader.php:370 Stack trace: #0 C:\wamp\www\centrale_reservation\library\Zend\View\Abstract.php(1114): Zend_Loader_PluginLoader->load('Dojo') #1 C:\wamp\www\centrale_reservation\library\Zend\View\Abstract.php(545): Zend_View_Abstract->_getPlugin('helper', 'dojo') #2 C:\wamp\www\centrale_reservation\library\Zend\View\Abstract.php(312): Zend_View_Abstract->getHelper('dojo') #3 [internal function]: Zend_View_Abstract->__call('dojo', Array) #4 C:\wamp\www\centrale_reservation\application\default\views\scripts\categorie\ajoutcat.phtml(10): Zend_View->dojo() #5 C:\wamp\www\centrale_reservation\library\Zend\View.php(107): include('C:\wamp\www\cen...') #6 C:\wamp\www\centrale_reservation\library\Zend\View\Abstract.php(787): Zend_View->_run('application\def...') #7 C:\wamp\www\centrale_reservation\library\Zend\Controller\Action\Helper\Vie in C:\wamp\www\centrale_reservation\library\Zend\Loader\PluginLoader.php on line 370
merci pour votre aide,
je suis nouveau dans zend et dans Dojo alors arreter moi si je dit des betises.
Hors ligne
Hello,
Si tu utilise le ViewRenderer, tu dois l'informer :
$view = new Zend_View(); Zend_Dojo::enableView($view); Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setView($view);
A+
Hors ligne
effectivement l'erreur à disparu, mais j'ai toujours une simple zone de texte meme si j'utilise Zend_Dojo_Form_Element_DateTextBox().
pour etre plus preci voila ce que je veux:
mais voila ce que je recoi ( une simple zone de saisie):
merci à vous tous
Hors ligne
Hello,
T'es bien sûr que tes .js sont chargés, vérifie avec Firebug.
A+
Hors ligne
d'apres mes connaissances les fichier js sont chargées automatiquement,
mais effectivement je ne trouve pas de js sur ma page, est ce normale??.
voila le code de la page généré :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>date</title> </head> <body class='tundra'> <form><dl class="zend_form"> <dt><label for="date" class="required">Date</label></dt> <dd> <input id="date" name="date" value="" type="text"></dd> <dt> </dt><dd> <input type="submit" name="valider" id="valider" value="Valider"></dd></dl></form></body> </html>
Hors ligne
Hello,
Je te propose de reprendre les étapes de http://framework.zend.com/manual/fr/zend.dojo.view.html
Soit ton enable dans ta vue. Soit ton layout.
A+
Hors ligne
J'ai eu de nombreux soucis pour faire fonctionner Dojo, avec parfois des fonctionnements erratiques (cela "tombait en marche"....).
Cela provenait de la configuration d'Apache et du fichier hostaccess (répertoire "public" du site).
Voici un exemple qui fonctionne ( exemple complet ici http://www.z-f.fr/forum/viewtopic.php?id=1947 )
===================================
Configuration Apache du httdp.conf
===================================
<VirtualHost *:80>
ServerAdmin webmaster@localhost.localdomain
DocumentRoot "c:/travail/www/inter/public"
ServerName inter
ErrorLog logs/inter-error.log
CustomLog logs/inter-access.log common
<Directory "c:/travail/www/inter/public">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
==========================
Configuration du .htaccess
==========================
# PHP values we need to set
# - timezone should be set
# - need short open tags for view scripts
php_value date.timezone "UTC"
php_value short_open_tag 1
php_value error_reporting 8191
php_flag display_errors Off
php_flag display_startup_errors Off
# Rewrite Rules
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
#############################
# Nécessite d'activer des modules du PHP.INI
##############################
# Expires/ETags
# You'll want to turn off the ExpiresActive setting when actively developing.
# In production, however, these settings follow the Y!Slow guidelines.
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
FileETag none
# Gzip CSS and JS by default
AddOutputFilterByType DEFLATE text/css application/x-javascript
Hors ligne
Bah moi, dans mon fichier de layout j'ai ajouté la ligne : $this->dojo()->setLocalPath($this->baseUrl . '/public/scripts/dojo/dojo/dojo.js') :
<?php if ($this->dojo()->isEnabled()) { $this->dojo()->setLocalPath($this->baseUrl . '/public/scripts/dojo/dojo/dojo.js') ->addStyleSheetModule('dijit.themes.soria'); echo $this->dojo(); } ?>
Dernière modification par lesauf (26-11-2008 22:38:48)
Hors ligne
Pages: 1