IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

[1.0.2][Zend_View][Bootstrap][Mod rewrite] css considéré comme contrôllers [Débutant(e)]


Sujet :

MVC PHP

  1. #1
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut [1.0.2][Zend_View][Bootstrap][Mod rewrite] css considéré comme contrôllers
    Bonsoir tout le monde,
    Je viens de me lancer dans l'univers de zend framework. Bref, j'ai un problème à inclure mes feuilles de styles que j'ai placé dans le dossier
    publlic\themes\default\style.css
    J'ai essayé de les inclure avec des chemin relatives mais je n'y arrive et quand j'essai d'inclure la feuille de style avec cette méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" href="http://localhost/proservices/public/themes/default/style.css" type="text/css" />
    Je ne reçoi rien et quand je vérifie les css inclus dans ma page à l'aide de l'extention webdevelloper de mozilla je trouve l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <br />
    <b>Fatal error</b>:  Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (public)' in D:\Program Files\EasyPHP 2.0b1\www\proservices\library\zend\Controller\Dispatcher\Standard.php:194
    Stack trace:
    #0 D:\Program Files\EasyPHP 2.0b1\www\proservices\library\zend\Controller\Front.php(920): Zend_Controller_Dispatcher_Standard-&gt;dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
    #1 D:\Program Files\EasyPHP 2.0b1\www\proservices\index.php(40): Zend_Controller_Front-&gt;dispatch()
    #2 {main}
      thrown in <b>D:\Program Files\EasyPHP 2.0b1\www\proservices\library\zend\Controller\Dispatcher\Standard.php</b> on line <b>194</b><br />
    Apparement, le chemin est considéré comme un controller. S'il vous plait est ce qu'il y a quelqu'un qui sait comment résoudre ce problème? par ce que si je n'arrive même pas à inclure mes css je crois que je vais laisser tomber zend framework

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    Pourrais-tu nous envoyer les contenu de ton fichier .htaccess, car c'est dans ce fichier que tu dis quel url le framework doit traiter

  3. #3
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, bon j'ai suivi le tutoriel de Guillaume Rossollini traduit de Rob Allen.
    Et j'ai gardé le fichier .htaccess qu'il a fournit.
    Celui là c'est le fichier qui se trouve dans la racine du site.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php
     
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
     
    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on
    Dans le dossier public il y a celui là

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Tu peux peut être rajouter un view helper (aide pour la vue) qui te met le bon chemin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <link rel="stylesheet" type="text/css" media="screen"
    	href="<?php echo $this->baseUrl(); ?>/public/themes/default/style.css" />
    Et le view helper toujours dans les views/helpers/nom_du_helper.php, ici,
    application/views/helpers/BaseUrl.php : (B en majuscule oui)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Zend_View_Helper_BaseUrl
    {
        function baseUrl()
        {
            $fc = Zend_Controller_Front::getInstance();
            return $fc->getBaseUrl();
        }
    }
    Le nom de classe est Zend_View_Helper_NomDuHelper.
    Testé sur zf 1.5.2 pas 1.0.2.

  5. #5
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, merci pour votre réponse, je vais essayer de l'appliquer ce soir. Je suis débutant et donc je n'ai jamais utilisé des helpers et je ne connais même pas l'importance, je vais voir la doc. Mais une chose
    Tu peux peut être rajouter un view helper (aide pour la vue) qui te met le bon chemin.
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link rel="stylesheet" type="text/css" media="screen"
    	href="<?php echo $this->baseUrl(); ?>/public/themes/default/style.css" />
    Je ne suis pas sûr que c'est de là où vient le problème par ce que j'ai mis l'adresse sous forme absolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <link rel="stylesheet" type="text/css" media="screen"
    	href="http://localhost/monsite/public/themes/default/style.css" />
    Je suis sûr que c'est à cause de mes fichiers .htaccess ou de la configuration d'apache.

  6. #6
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par othmane126 Voir le message
    Bonjour, bon j'ai suivi le tutoriel de Guillaume Rossollini traduit de Rob Allen.
    Et j'ai gardé le fichier .htaccess qu'il a fournit.
    Celui là c'est le fichier qui se trouve dans la racine du site.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php
     
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
     
    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on
    Dans le dossier public il y a celui là
    Bonjour,
    Hum .. Si ton bootstrap te sort un erreur comme quoi il connais pas le controller public, ca veux dire 2 choses :
    1 : Tu as pas de controller public ( bon ca c'est plutôt une nouvelle dont on a rien à faire :/ )
    2 : c'est lui qui recoit les demandes HTTP concernant tes fichiers css, et ca, c'est pas bien ! Et d'ajouter une aide pour avoir l'url de base reviendrais au même souci ...

    Bon, ensuite, ca c'est pas bien php_flag short_open_tag on
    Et sinon, si je me rapelle bien mes cours ( outch. ) il prends d'abord en compte le .htaccess de la racine, ce qui fais que bah, tout simplement, il redirige toutes les demandes de fichier sur le bootstrap
    Conclusion :
    dans le .htaccess de la racine, il faut rediriger tout ce qui n'est pas .css, .jpg, .gif, .png, .toutcequetuveux vers le bootstrap, et laisser passer le reste

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php
    Deviens
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule !\.(js|ico|png|gif|css|jpg)$ index.php
    png, gif, jpg, pour tes images
    js pour avoir tes javascripts correctement
    css pour les css
    ico pour la petite icone des favoris
    Bon, du moins, ca, c'est la théorie !

    En espérant que ca t'aides !
    Bonne chance !

  7. #7
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, merci pour ta réponse c'est exactement ce que je cherche mais je ne savais pas comment faire.
    Je vais l'essayer ce soir et je vous dis ce qui se passe, par ce que je suis au travail maintenant. Si vous avez d'auters solutions c'est le bienvenu

  8. #8
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par othmane126 Voir le message
    Bonjour, merci pour ta réponse c'est exactement ce que je cherche mais je ne savais pas comment faire.
    Je vais l'essayer ce soir et je vous dis ce qui se passe, par ce que je suis au travail maintenant. Si vous avez d'auters solutions c'est le bienvenu
    Bonjour,

    De rien ! Tiens nous au courant de l'avancement des choses

    Travaille bien ! et bonne chance.

  9. #9
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut Merci ça a réussi
    Bonsoir tout le monde,
    Je tiens d'abord à vous remercies tout les deux pour vos réponses et votre temps. LoveAngel J'ai changé mon fichier .htaccess et ça marché. fterrasson Je vais essayer de lire un peu de tutoriels sur l'utilisation des helpers et comprendre leur utilité.

    Et encore merci.

  10. #10
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par othmane126 Voir le message
    Bonsoir tout le monde,
    Je tiens d'abord à vous remercies tout les deux pour vos réponses et votre temps. LoveAngel J'ai changé mon fichier .htaccess et ça marché. fterrasson Je vais essayer de lire un peu de tutoriels sur l'utilisation des helpers et comprendre leur utilité.

    Et encore merci.
    Bonsoir !

    Ben de rien, pour une fois que mes connaissances servent

    Pour ce qui est des helpers, de base, tu en as un : Zend_View_Helper_Url, il te permet d'apeller la fonction url sur tes vues, ainsi, ton code pour l'inclusion css deviendrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link href="<?php echo $this->url(array('fichier' => 'style.css'), 'css'); ?>" rel="stylesheet" type="text/css" />
    avec une route de ce genre ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	    <css>
    	        <route>Public/Styles/:fichier</route>
    	        <defaults>
    	            <controller>Index</controller>
    	            <action>index</action>
    	        </defaults>
    	    </css>
    Bon, je me suis jamais vraiment interessé aux routes de base, donc je sais pas comment ca marche par defaut, moi j'ai un fichier XML avec dans le bootstrap :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $router = new Zend_Controller_Router_Rewrite;
    $router->addConfig(new Zend_Config_Xml('./application/routes.xml', null), 'routes');
     
    $front = Zend_Controller_Front::getInstance();
    $front->throwExceptions(false)
    	  ->setRouter($router)
    	  ->setResponse($response)
          ->setDispatcher(new Zend_Controller_Dispatcher_Standard())
          ->setDefaultControllerName('Index')
          ->setControllerDirectory(array('default' => './application/controllers'));
    Ensuite, j'ai plusieurs routes, pour les css, pour les js, pour les fichiers, et pour les images ( les mêmes mais en changeant les noms ou y faut ^^ )

    En gros, le but des Helpers : t'aider !
    Mais, en théorie, cet Helper dont parle fterrasson n'a pas d'utilité réelle pour tes liens de css / images, tout marche parfaitement en url relatives normalement, grace à cette fonction magique ( $this -> url() )

    Voila, si tu veux d'autres infos, hésite surtout pas !

    Bonne chance !
    ( Et bonne nuit, )

  11. #11
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonsoir,
    j'ai changé mon fichier header.phtml voici ce que j'ai mis et ça fonctionnent parfaitement comme je veux, juste pour les fonctions ajax qui ne fonctionnent pas encore, mais c'est un autre problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" href="<?php echo $this->baseUrl; ?>/public/themes/<?php echo $this->theme; ?>/style.css" type="text/css"/>
    En fait je veux créer une application modulaire avec des thèmes. Chaque module aura son propre thème et je compte stocker ses thèmes sous la forme que vous voyez en haut. J'ai aussi mis dans le dossier de chaque thème un dossier nommé images qui contient les images de celui-ci, mais je ne sais pas est ce que c'est une bonne méthode de travailler. J'ai utilisé cette méthode pour avoir des liens sous la forms
    J'ai ajouter ces lignes dans mon fichier index
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    set_include_path('.'
    	. PATH_SEPARATOR . './library'
    	. PATH_SEPARATOR . './application/Index/models/'
    	. PATH_SEPARATOR . './application/Annuaire/models/'
    	. PATH_SEPARATOR . './application/models/'
    	. PATH_SEPARATOR . get_include_path());
     
    	$frontController->setControllerDirectory(array(
          'default' => './application/Index/controllers',
          'annuaire'    => './application/Annuaire/controllers'
    ));

  12. #12
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Ben, je pense pas que ca soit une mauvaise façon de travailler, même si personellement je prefère l'utilisation du router pour eviter les /public/themes/ dès que tu veux linker quelque chose. J'm'explique : imagine rien qu'un truc tout simple, tu décide que finalement ton dossier ne peux pas s'apeller comme ca, et qu'il doit aller dans un autre répertoire .. tu aura toutes les fois ou tu as mis '/public/themes/' à modifier, donc, tu va en oublier, donc, tu va bientôt finir par utiliser du papier de verre pour ton crane ( translation vers le francais : t'arracher les cheveux. )
    Alors qu'avec une route, tu va dans ton route.xml, tu change une fois ton chemin, et hop !
    Vraiment, ca facilite la vie quand on les a
    En plus de ça, tu pourra réaliser tes routes personnalisées :
    /annuaire/entreprises/liste, à la limite, ca va tu t'en fiche, mais /annuaire/entreprses/detail/id/1 ou un truc dans le genre, c'est pas très joli et si tu veux améliorer ton référencement naturel, tu as tout interet à ajouter le nom de l'entreprise !
    et tu peux te faire des url http://www.monsite.com/entreprise-de...mdelentreprise
    Je pense que pour les utilisateurs, ca rends le site plus attrayant quand tu as de jolies urls, mais bon, après de toute facon, c'est toi qui choisira

    Sinon, je connais pas très bien l'arborescence typique des appli modulaires, mais je pense que tu est sur une bonne base !

    Sinon, pour ton Ajax, tu as des erreurs JS, des erreurs php ? essaye d'executer tes pages sans ajax déjà, ensuite quand tu pense avoir un résultat correct, teste par Ajax.
    Et eventuellement, utilise JSon si tu ne le fais pas déjà, ca évite de faire des trucs trop moches

    Bref, un long message pour bien peu de choses !
    Bonne chance !

  13. #13
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour,
    Franchement vous m'avez vraiment donner envie d'utiliser cette méthode, surtout pour le référencement et pour avoir des urls comme ça http://www.monsite.com/entreprise-de...mdelentreprise.
    Sauf que je ne sais pas comment je vais m'y mette. Par ce que pour moi le but c'est que pour chaque module il y a un thème appliqué. Et pour chaque thème il y a une feuille de style et un dossier images qui lui sont associés. Les thèmes seront tous de la façon suivantes
    public/themes/nom_du_theme/
    /images/
    style.css
    Est ce que je peux faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	    <css>
    	        <route>Public/Styles/:theme/style.css</route>
    	        <defaults>
    	            <controller>Index</controller>
    	            <action>index</action>
    	        </defaults>
    	    </css>
    Et dans la vue je vais comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link href="<?php echo $this->url(array('theme' => 'default'), 'css'); ?>" rel="stylesheet" type="text/css" />
    Et je peux par suite charger le nom du thème associé à un module à l'aide du fichier de configuration du site pour qu'ils soient plus maintenable et que je peux changer les thèmes des modules plus facillement.

  14. #14
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour, encore une chose, pour mes fonctions ajax voici un exemple de ce que je fais, d'ailleurs c'est ma première fonctions sous zendframework.
    dans la page:
    j'ai un bloc où j'affiche la présentation d'une entreprise sélectionné aléatoirement depuis une base.
    Pour cela dans mon fichier index.phtml j'ai crée ce bloc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div id="ets_alaune" style="left:0;">
    						<div id="logo_ets_alaune">Logo</div>
    						<div id="denom_ets_alaune">D&eacute;nomination</div>
    						<div id="description_ets_alaune">Texte</div>
    					</div>
    et j'ai créé une fonction ajax que j'ai placé dans le dossier public/js et que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    var pos=0, pe, pe2, reponse='', start_slide=false, request_send=false, stop=false;;
    function toLeft()
    		{
    		if(start_slide==true)
    			{
    			if(pos>=-700)
    				{				
    				pos=pos-100;
    				$('ets_alaune').style.left=pos+'px';		
    				}
    			else
    				{
    				$('ets_alaune').innerHTML=reponse;
    				pos=0;
    				$('ets_alaune').style.left=pos+'px';						
    				start_slide=false;	
    				request_send=false;
    				}	
    			}
     
    		}
    function EntreprisesAlaUne(site) 
    	{
    	var myAjax, param;
     
    	url='http://localhost/proservices/annuaire/entreprises/EtsAlaUne';
    		if(start_slide==false && request_send==false)
    			{
    		param='modele=Entreprises&tache=4';
    		myAjax = new Ajax.Request(
    					url,
    						{	
    						method: 'post',
    						parameters: param,
    						onComplete: Complet,
    						onCreate: Creation
    						}
    					);
    		}
    	}
    function Creation(requete)
    	{
    	request_send=true;
    	//pe2.stop();
    	//alert('pe2 stopé');
    	}
    function Complet(requete)
    	{
    		reponse = requete.responseText;
    		start_slide=true;
    		//alert('lancement periodical');
    	}
    function StopSlideShow()
    	{
    	if(stop==false)
    		{
    		stop=true;
    		pe2.stop();	
    		$('play_pause_ets_alaune').src='themes/default/images/play2.png';
    		}
    	else
    		{
    	pe2 = new PeriodicalExecuter(EntreprisesAlaUne, 6);	
    	stop=false;
    	$('play_pause_ets_alaune').src='themes/default/images/pause2.png';
    		}
    	//start_slide=false;
    	}
    	//pe.currentlyExecuting==false
     
    	pe2 = new PeriodicalExecuter(EntreprisesAlaUne, 6);
    	pe = new PeriodicalExecuter(toLeft, 0.1);
    Comme vous pouvez voir, j'envoi ma requête à une action du controleur entreprise(EtsAlaUne),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/proservices/annuaire/entreprises/EtsAlaUne
    pour laquelle j'ai créé un fichier ets-ala-une.phtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	<div id="logo_ets_alaune">  
    		<img src="public/logos/<?php echo $this->entreprise->ets_id; ?>.jpg" style="width:218px; height:134px;" alt=""/>
    	</div>
    	<div id="denom_ets_alaune">
    		<?php echo htmlentities($this->entreprise->ets_denom); ?>
    	</div>
    	<div id="description_ets_alaune">
    		<?php echo htmlentities($this->entreprise->ets_presentation);	?>
    	</div>
    Et voici l'action du contrôleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function etsalauneAction()
    		{
    	$entreprise = new Entreprise();
     
    	$this->view->entreprise = $entreprise->fetchRow('1','RAND()');		
    		}
    et j'affiche tout simplement le résultat envoyé par cette action.
    Qu'est ce que vous en pensez?!!

  15. #15
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonsoir !

    Désolé pour ce silence, rapport de stage et net indisponible hier soir, donc j'ai peu de temps à moi

    Donc, je n'ai pas tout lu, mais la je comprends pas exactement tout ^^

    Donc, si je comprends bien :
    Tu affiche ta page de base avec tes 3 divs, dans une div, que tu fais bouger vers la droite au cours du temps, et toutes les 6 secondes, ca en réactualise le contenu, c'est ce que veux non ?

    Bah pour Ajax, tu as cette solution la, qui est pas forcément mauvaise, mais il faut que soit bien sur que ta vue renvoie uniquement ce que tu veux !
    Sinon, autre solution, tu renvoie un objet à javascript ( grace à JSON ), et tu affecte tes variables directement à partir de ta fonction Complet, ca évitera $('ets_alaune').innerHTML=reponse; toutes les 0.1 sec :/

    Sinon, je remarque le $(), tu travaille avec MooTools ? Parce que à ce moment la, tu as des fonctions toutes faite de slide normalement

    Bon, je connais pas la syntaxe exacte de fetchRow, mais si ça te renvoie bien ce que tu veux, c'est parfait !

    Voila, tout ce que j'ai à répondre pour le moment, essaye de voir un peu si ca marche comme tu pense que ca devrais, je prendrais un peu de temps pour m'y plonger plus tard, mon rapport m'attends :/

    Désolé encore, et bonne chance !

  16. #16
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour,
    Désolé pour ce silence, rapport de stage et net indisponible hier soir, donc j'ai peu de temps à moi
    Je comprend, moi aussi je suis en stage de fin d'études et préembauche et je n'ai pas encore touché à mon rapport.
    Donc, si je comprends bien :
    Tu affiche ta page de base avec tes 3 divs, dans une div, que tu fais bouger vers la droite au cours du temps, et toutes les 6 secondes, ca en réactualise le contenu, c'est ce que veux non ?
    Ce que je fais, au chargement de la page il y a trois div(logo, dénomination, présentation), et toutes les 6 secondes je fais appel à une fonction ajax et interroge une action d'un controller et lorsque je reçoi la réponse je glisse ces trois div de droite à gauche et après j'affiche le résultat.

    Ma question est, qu'elle est l'utilité de récupérer des données sous un format tel que JSON ou XML pour après assigner leur contenu à des endroits d'une page, alors qu'on peut récupérer le résultat préformaté sous forme d'html et d'afficher le résultat directement.
    Sinon, je remarque le $(), tu travaille avec MooTools ? Parce que à ce moment la, tu as des fonctions toutes faite de slide normalement
    Je travail avec prototype, mais j'essai de passer à Dojo.

  17. #17
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par othmane126 Voir le message
    Bonjour,

    Je comprend, moi aussi je suis en stage de fin d'études et préembauche et je n'ai pas encore touché à mon rapport.
    Bonsoir

    Courage ! le mien est fini ( enfin ^^ ) plus que la soutenance, dans une semaine ^^ et débarassé

    Citation Envoyé par othmane126 Voir le message
    Ma question est, qu'elle est l'utilité de récupérer des données sous un format tel que JSON ou XML pour après assigner leur contenu à des endroits d'une page, alors qu'on peut récupérer le résultat préformaté sous forme d'html et d'afficher le résultat directement.
    Disons que c'est un souci de lisibilité, d'une part, puis tu te trimbale pas des lignes de code HTML en ajax :/ d'un autre coté, si ta solution marche, et est compatible, y'a pas de souci sur l'utilisation de cette méthode, juste un peu moins .. propre

    Citation Envoyé par othmane126 Voir le message
    Je travail avec prototype, mais j'essai de passer à Dojo.
    Oh, d'accord, je connais pas en utilisation, juste entendu parler ^.o
    J'aime bien MooTools personellement, on me l'a un peu imposé, mais c'est pas mal, et les drag d'elements sont interfacés

    Sinon, ton code marche ? \o/

  18. #18
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 318
    Points
    318
    Par défaut
    Bonjour,
    Sinon, ton code marche ? \o/
    Oui tout fonction à merveille, sauf pour router je n'ai pas encore essayé. J'étais occupé par prendre d'autres composants. C'est vraiment une merveille.

  19. #19
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    Bon bah
    Bonne chance, et hésite pas si t'a d'autres soucis :p

    A peluche !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Zend Core] Problème Mod Rewrite
    Par _phoenix_ dans le forum Zend
    Réponses: 26
    Dernier message: 12/07/2007, 09h47
  2. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 14h29
  3. Mod rewrite et gestion 404
    Par bagu dans le forum Apache
    Réponses: 5
    Dernier message: 05/09/2006, 15h17
  4. Apache mod-rewrite et perte de session
    Par Jacques - 06 dans le forum Apache
    Réponses: 1
    Dernier message: 27/06/2006, 17h25
  5. Réponses: 2
    Dernier message: 24/11/2005, 19h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo