Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2011, 11h47   #1
Membre régulier
 
Avatar de khand
 
Homme Jody Lognoul
Développeur Web
Inscription : juillet 2008
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Jody Lognoul
Âge : 27
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Distribution

Informations forums :
Inscription : juillet 2008
Messages : 120
Points : 90
Points : 90
Envoyer un message via Skype™ à khand
Par défaut Form login: component ou slot ?

Bonjour,

J'aimerais avoir sur mon site une zone dans laquelle je place mon login (form + information du compte).

J'aimerai que cette zone apparaisse toujours, peut importe le module/action actif.

J'avoue être un peu perdu quand au choix d'une méthode : Component ou Slot.

Voilà, merci d'avance.
khand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 17h03   #2
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Je crois qu'un :

Code :
<?php include_component('sfguardAuth', 'signin') ?>
Permet d'inclure le formulaire. Donc avec un component
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/06/2011, 18h55   #3
Membre régulier
 
Avatar de khand
 
Homme Jody Lognoul
Développeur Web
Inscription : juillet 2008
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Jody Lognoul
Âge : 27
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Distribution

Informations forums :
Inscription : juillet 2008
Messages : 120
Points : 90
Points : 90
Envoyer un message via Skype™ à khand
Merci pour ta réponse ! Mais je n’utilise pas sfguard
khand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 08h42   #4
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Ah, original

Dans tous les cas, les slots sont faits pour définir un contenu variable, la plupart du temps dans un layout, comme un <title> la plupart du temps.

Le choix se porte donc plutôt sur partial ou component. Vu que ton bloc contiendra un formulaire, il lui faut une action où instancier ce formulaire : il te faut donc un component
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/07/2011, 09h14   #5
Membre régulier
 
Avatar de khand
 
Homme Jody Lognoul
Développeur Web
Inscription : juillet 2008
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Jody Lognoul
Âge : 27
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Distribution

Informations forums :
Inscription : juillet 2008
Messages : 120
Points : 90
Points : 90
Envoyer un message via Skype™ à khand
Bonjour,

Alors c'est justement la partie que je ne comprends plus J'ai un new LoginForm() dans mon composant.

Ensuite mon "action" du formulaire renvois vers mon "user/login". Hors celui-ci a besoin de l'objet Form créé dans mon composant afin de vérifier la validité du formulaire. Et c'est là que je ne comprends plus; je ne peux tout même pas passer mon objet Form en paramètre à mon action qui gère le login !

Je sens que je vais devoir passer à sfguard moi ...


Merci !
khand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 09h50   #6
Membre habitué
 
Avatar de Maerlyn31
 
Homme Baptiste Naudinat
Développeur Web
Inscription : mai 2011
Messages : 70
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Naudinat
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 70
Points : 146
Points : 146
Pas besoin de passer l'objet, il faut utiliser la méthode "bind" des formulaires.

Pour chaque formulaire géré par Symfony, le processus sera quasiment le même

1°) Instanciation du forumlaire : new MonFormulaire();
2°) Bon bien sur affichage dans un template, le formulaire renvoie vers une action de validation
3°) Dans cette action, on instancie un nouveau formulaire, new MonFormulaire(), puis on lie ce nouveau formulaire aux données de la requête : $form->bind($request);
4°) On vérifie les données ( $form->isValid()), puis selon le résultat on sauvegarde (méthode save()) ou on redirige l'utilisateur. A noter, une fois passé par les méthodes bind() et isValid(), ton objet form contient les valeurs entrées par les utilisateurs ainsi que les erreurs éventuelles. Il est donc prêt a être ré-affiché pour correction par l'utilisateur.

Pour trouver des exemples de code, le plus simple est de générer un module de crud (doctrine:generate-module ou doctrine:generate:admin) puis d'aller voir dans le cache les actions qui sont utilisées.
Maerlyn31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/07/2011, 16h12   #7
Membre régulier
 
Avatar de khand
 
Homme Jody Lognoul
Développeur Web
Inscription : juillet 2008
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Jody Lognoul
Âge : 27
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Distribution

Informations forums :
Inscription : juillet 2008
Messages : 120
Points : 90
Points : 90
Envoyer un message via Skype™ à khand
Ah oui mais oui ! Je suis bête ! J'ai lu cette théorie ...

Je vais tester ça...

Par la même occasion je vais apprivoiser sfguard !

Merci pour les conseils.
khand est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h42.


 
 
 
 
Partenaires

Hébergement Web