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

Symfony PHP Discussion :

[GenemuBundle] Utilisation


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut [GenemuBundle] Utilisation
    Bonjour , j'essaie d'utiliser le genemuformbundle depuis quelque jours mais sans succès . J'ai installlé le bundle en suivant les instructions sur http://knpbundles.com/genemu/GenemuFormBundle j'ai téléchargé et inclus les fichiers js et css demandés . Mais je n'ai qu'un champ normal ou des erreurs selon le type de formulaires que je veux inclure dans mon projet .
    Je galère vraiment là toutes aides serait la bienvenue Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Lead Développeur
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Développeur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Un peu plus de details serait le bienvenue !

    Quel form du bundle tu tentes d'utiliser ? Peut-on voir le code de ton controlleur ainsi que de ton template ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci de bien vouloir m'aider .Sur le long terme j'aurai besoin de pratiquement tous les form mais là maintenant j'ai essayé le adresspicker et select2

    ci dessous le code de mon controller :
    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    <?php
     
    namespace Test\TestBundle\Controller;
     
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Test\TestBundle\Entity\Client;
    use Test\TestBundle\Form\ClientType;
     
    class DefaultController extends Controller
    {
        public function indexAction($name)
        {
    		$client = new Client;
    		  $form = $this->createForm(new ClientType(), $client);
            return $this->render('TestTestBundle:Default:index.html.twig', array('name' => $name,
    			'form' => $form->createView(),));
        }
    }
     
     
     
    et ci-dessous le code de mon template 
     
    {% block stylesheets %}
        <link href="{{ asset('css/jquery-ui-1.8.16.custom.css') }}" rel="stylesheet" />
        <link href="{{ asset('css/uploadify.css') }}" rel="stylesheet" />
        <link href="{{ asset('css/jquery.Jcrop.css') }}" rel="stylesheet" />
        <link href="{{ asset('css/token-input-facebook.css') }}" rel="stylesheet" />
        <link href="{{ asset('css/select2.css') }}" rel="stylesheet" />
        {{ form_stylesheet(form) }}
    {% endblock %}
     
    {% block javascripts %}
        <script src="{{ asset('js/jquery-1.4.4.min.js') }}"></script>
        <script src="{{ asset('js/jquery-ui-1.8.7.min.js') }}"></script>
        <script src="{{ asset('js/tinymce.js') }}"></script>
        <script src="{{ asset('js/jquery-ui-i18n.js') }}"></script>
     
        <script src="{{ asset('js/jquery.uploadify.min.js') }}"></script>
        <script src="{{ asset('js/select2.min.js') }}"></script>
        <script src="{{ asset('js/jquery.ui.ardresspicker.js') }}"></script>
        <script src="{{ asset('http://maps.google.com/maps/api/js?sensor=false') }}"></script>
     
     
        <script src="{{ asset('js/jquery.Jcrop.min.js') }}"></script>
     
        <script src="{{ asset('js/jquery/jquery.tokeninput.js') }}"></script>	<!-- You have to apply the fix <a href="https://github.com/loopj/jquery-tokeninput/pull/172/files" target="_blank">https://github.com/loopj/jquery-toke...pull/172/files</a> for tokeninput to get it work!! -->
    	<script >
     
    		$(function() {
    			var addresspicker = $( "#addresspicker" ).addresspicker();
    			var addresspickerMap = $( "#addresspicker_map" ).addresspicker({
    				regionBias: "fr",
    		  updateCallback: showCallback,
    			  elements: {
    				map:      "#map",
    				lat:      "#lat",
    				lng:      "#lng",
    				street_number: '#street_number',
    				route: '#route',
    				locality: '#locality',
    				administrative_area_level_2: '#administrative_area_level_2',
    				administrative_area_level_1: '#administrative_area_level_1',
    				country:  '#country',
    				postal_code: '#postal_code',
    			type:    '#type' 
    			  }
    			});
     
    			var gmarker = addresspickerMap.addresspicker( "marker");
    			gmarker.setVisible(true);
    			addresspickerMap.addresspicker( "updatePosition");
     
    		$('#reverseGeocode').change(function(){ 
    		  $("#addresspicker_map").addresspicker("option", "reverseGeocode", ($(this).val() === 'true'));
    		});
     
    		function showCallback(geocodeResult, parsedGeocodeResult){
    		  $('#callback_result').text(JSON.stringify(parsedGeocodeResult, null, 4));
    		}
     
    	});
     
    	</script>
        {{ form_javascript(form) }}
    {% endblock %}
     
    {% block body %}
        <form  type="post" {{ form_enctype(form) }}>
            {{ form_widget(form) }}
     
            <input type="submit" />
        </form>
    {% endblock %}
     
     
     
    ci dessous le code du formulaire que j'ai testé pour adresspicker 
    
    <?php
    
    namespace Test\TestBundle\Form;
    
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
    
    class ClientType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('nom')
                ->add('categorie')
                ->add('pays','genemu_jquerygeolocation')
            ;
        }
    
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'Test\TestBundle\Entity\Client'
            ));
        }
    
        public function getName()
        {
            return 'test_testbundle_clienttype';
        }
    }
    avec ce code j'obtiens un champ adresse normal et rien d'autre aucune map aucune auto complétion

    Par contre je ne sais pas quels configs mettre dans le config.yml c'est pas très explicite dans la doc

  4. #4
    Membre régulier
    Homme Profil pro
    Lead Développeur
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Développeur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Tu as de la chance je connais addresspicker vu que j'ai apporte quelques patchs...

    Par contre je n'ai pas eu le temps de tester avec une entité, mais déjà il y a des des trucs qui me chiffonne...

    - Pourquoi {{ asset('http://maps.google.com/maps/api/js?sensor=false') }} ? C'est un lien externe, pas d'asset !
    - Tu écris ton code js pour faire la map, alors qu'il est justement écrit automatiquement en appelant {{ form_javascript(form) }}, c'est tout l’intérêt de ce bundle ! D'ailleurs, en regardant la doc justement, tu verras que la carte est une option a false par défaut: https://github.com/genemu/GenemuForm...ation/index.md

    Sinon à première vu j'ai rien d'autre à dire, essaye de nettoyer tout ça et dis moi si cela change quelque chose...

    A noter: Quand tu postes ton code, essaye de les séparer dans plusieurs bloques, c'est plus facile pour te relire !

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci de m'avoir aidé mais finalement j'ai tout codé moi même donc là je travail sans le bundle et ca marche comme sur des roulettes

  6. #6
    Membre régulier
    Homme Profil pro
    Lead Développeur
    Inscrit en
    Novembre 2011
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lead Développeur
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    Oui c'est ce que je faisais aussi, j'en ai meme fait un article ici: http://devyourdream.net/2012/09/24/j...s-formulaires/

    En ce moment j'essaye de contribuer un maximum a ce bundle pour qu'il soit utilisable a 100%...

    Penses à mettre le sujet en RESOLU !

  7. #7
    Membre du Club
    Inscrit en
    Mai 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 52
    Points : 62
    Points
    62
    Par défaut
    Bonjour Soullivaneuh
    Merci pour ton tuto meme si je ne l'ai pas fais car je prefere utiliser le bundle https://github.com/genemu/GenemuFormBundle afin d'eventuellement beneficier d'autres fonctionalites inclues. Sinon mon principal souci est de mettre en place la fonctionalite AdressPicker comme tu l'a fais dans ton tutoriel malheuresement je n'ai pas pu en suivant la documentation du bundle exactement dans la partie concernant "JQueryAddressPicker Field". En effet le champ du formulaire s'affiche comme un simple champ text pas de maps ni lng ni lat ni ....

    voici mon formulaire
    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    <?php
     
    namespace Mpk\CmsBundle\Form;
     
    use Doctrine\ORM\EntityManager;
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\Form\FormEvents;
    use Symfony\Component\Form\FormEvent;
    use Symfony\Component\OptionsResolver\OptionsResolverInterface;
    use Symfony\Component\Form\FormInterface;
    use MpkCmsBundle\Entity\Category;
    use Mpk\CmsBundle\Entity\ServiceRepository;
     
     
    class CompanyType extends AbstractType
    {
        protected $em;
        protected $idCategory;
     
     
        public function __construct($idCategory)
        {
            $this->idCategory = $idCategory;
        }
     
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $idCategory = $this->idCategory;
            $builder->add('name')
                    ->add('services', 'entity', array('class' => 'MpkCmsBundle:Service',
                                              'expanded' => true,
                                              'multiple' => true,
     
                                                     'query_builder' => function(ServiceRepository $r)use($idCategory){
                                                      return $r->findByCategory($idCategory);
                                                    }))
                    //->add('latlng', 'ohgoogle_maps')
                    ->add('geolocation', 'genemu_jquerygeolocation', array(
                                                                            'map'       => false,
                                                                            'latitude'  => array(
                                                                                'enabled'   => false,
                                                                                'hidden'    => true,
                                                                            ),
                                                                            'longitude' => array(
                                                                                'enabled'   => false,
                                                                                'hidden'    => true,
                                                                            ),
                                                                            'locality'  => array(
                                                                                'enabled'   => false,
                                                                                'hidden'    => true,
                                                                            ),
                                                                            'country'   => array(
                                                                                'enabled'   => false,
                                                                                'hidden'    => false,
                                                                            ),
                                                                        ))
                    ->add('description')
                    ->add('save', 'submit')
                    ;
     
            ;
        }
     
     
        /**
         * @param OptionsResolverInterface $resolver
         */
        public function setDefaultOptions(OptionsResolverInterface $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'Mpk\CmsBundle\Entity\Company',
                'csrf_protection' => false,
            ));
        }
     
        /**
         * @return string
         */
        public function getName()
        {
            return 'mpk_cmsbundle_company';
        }
    }
    et voici ma vue:
    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
     
    <html>
        <head>
            <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
            <script type="text/javascript" src="/path/to/jquery.ui.addresspicker.js"></script>
     
        </head>
        <body>
            <form action="{{path('mpk_cms_company_registration', { 'categoryId':categoryId })}}" method = "post">
                {{form_widget(form.name)}}
                {{form_widget(form.services)}}
                {{form_widget(form.geolocation)}}
                {{ form_javascript(form) }}
                <input type="submit">
            </form>
        </body>
    </html>
    Je rappel que j'ai installe la version dev-master du bundle
    Je te prie de m'aider STP

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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