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

APIs Google Discussion :

Formulaire inséré dans un return ?


Sujet :

APIs Google

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut Formulaire inséré dans un return ?
    Une question qui ne doit pas être compliquée pour un non débutant...

    Je voudrais que l'affichage des coordonnées sur la carte google ajoute aussi la possibilité d'entrer ces coordonnées dans un carnet d'adresses

    J'ai donc ajouté un formulaire dans le return de generateMarkerHtml: function(m) {
    est-ce une bonne méthode ?
    Sachant que je fais un test avec un input type="text" pour voir si je lis bien le code postal.
    google locator affiche bien sa valeur (44000) avec m.test
    comment faire pour que la value de input type="text" name="postcode" l'affiche aussi ?
    Javascript ? php ? quelle variable utiliser ? Je n'y arrive pas, besoin d'un coup de main.

    Code modifié :
    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
     
    <script type="text/javascript">
    var ex;
    (function(){
        var storeLocator = new UnirgyStoreLocator({
            mapEl: $('map'),
            sidebarEl: $('sidebar'),
            searchUrl: '<?php echo $this->getUrl('ustorelocator/location/search')?>',
            generateSidebarHtml: function(m) {
                return '<b>' + m.title + '</b> (' + parseFloat(m.distance).toFixed(1) + ' ' + m.units + ')<br/>'
                    + m.address_display.replace(/\n/, '<br/>');
            },
            generateMarkerHtml: function(m) {
                var url = m.website_url.replace(/\s/,'');
                return '<b>' + m.title + '</b> <br/>'
                    + m.street_address + '&nbsp;' + m.test + '&nbsp;' + m.city + '<br/>'
                    + '<br/>'
                    + '<form action="<?php echo $this->getSaveUrl() ?>" method="post" name="formulaire" id="form-validate">'
                    + '<input type="hidden" name="country_id" value="" />'
                    + '<input type="text" name="telephone" value="<?php echo $this->__('my default shipping address') ?>" />'+ '<br/>'
                    + '<input type="text" name="postcode" value="" />'+ '<br/>'
                    + '<input type="hidden" name="default_shipping" value="1" />'
                    + '<button type="submit" title="<?php echo $this->__('my default shipping address') ?>" class="button"><span><span><?php echo $this->__('my default shipping address') ?></span></span></button>' + '<br/>'
                    + '</form>'
                    + '<br/>'
                    + (m.phone.length>5 ? m.phone + '<br/>' : '')
                    + (url.length>5 ? '<a href="' + (url.match(/@/) ? 'mailto:' : '') + url + '"><strong>' + url + '</strong></a><br/>' : '')
                    /*
                    + '<p>Product Types: '
                    + (m.product_types.match(/baby/) ? 'Custom Baby; ' : '')
                    + (m.product_types.match(/wedding/) ? 'Custom Wedding; ' : '')
                    + (m.product_types.match(/card/) ? 'Greeting Cards; ' : '')
                    + '</p>'*/
                    + '<p>' + m.notes + '</p>';
            }
        });
    Code origine :
    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
     
    <script type="text/javascript">
    var ex;
    (function(){
        var storeLocator = new UnirgyStoreLocator({
            mapEl: $('map'),
            sidebarEl: $('sidebar'),
            searchUrl: '<?php echo $this->getUrl('ustorelocator/location/search')?>',
            generateSidebarHtml: function(m) {
                return '<b>' + m.title + '</b> (' + parseFloat(m.distance).toFixed(1) + ' ' + m.units + ')<br/>'
                    + m.address_display.replace(/\n/, '<br/>');
            },
            generateMarkerHtml: function(m) {
                var url = m.website_url.replace(/\s/,'');
                return '<b>' + m.title + '</b> <br/>'
                    + m.street_address + '&nbsp;' + m.test + '&nbsp;' + m.city + '<br/>'
                    + (m.phone.length>5 ? m.phone + '<br/>' : '')
                    + '<br/>'
                    + (url.length>5 ? '<a href="' + (url.match(/@/) ? 'mailto:' : '') + url + '"><strong>' + url + '</strong></a><br/>' : '')
                    /*
                    + '<p>Product Types: '
                    + (m.product_types.match(/baby/) ? 'Custom Baby; ' : '')
                    + (m.product_types.match(/wedding/) ? 'Custom Wedding; ' : '')
                    + (m.product_types.match(/card/) ? 'Greeting Cards; ' : '')
                    + '</p>'*/
                    + '<p>' + m.notes + '</p>';
            }
        });
     
        Event.observe(window, 'load', function () {
            storeLocator.load();
     
    <?php if ($_defaultLocation): ?>
            $('storelocator-results').style.visibility = 'visible';
            storeLocator.search('<?php echo addslashes($_defaultLocation) ?>', {
                radius: '<?php echo addslashes($_defaultRadius) ?>'
                /*, type: $('product_type').value*/
            });
    <?php endif ?>
        });
     
        Event.observe(window, 'unload', GUnload);
     
    <?php if ($_showSearch): ?>
        Event.observe($('store_locator_form'), 'submit', function() {
            $('storelocator-results').style.visibility = 'visible';
            storeLocator.search($('address').value, {
                radius: $('radius').value
                /*, type: $('product_type').value*/
            });
        });
    <?php endif ?>
     
    })();
    </script>

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut Pas d'idée ?
    Je cherche mais ne trouve pas.
    Si qqn a une idée ou une piste à explorer ça fera mon bonheur !

  3. #3
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Simplement ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     + '<input type="text" name="postcode" value="' + m.test + '" />'+ '<br/>'
    ERE

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Merci beaucoup, ça me débloque bien.

    J'ai ensuite réussi (exploit!) à
    afficher le formulaire, seulement pour les personnes connectées
    et
    insérer dans les champs texte les valeurs que je veux entrer dans mon carnet d'adresse, y compris nom et prénom de la personne connectée.

    Pour le faire je me suis basé sur le formulaire de
    app/design/frontend/base/default/template/customer/address/edit.phtml

    Mais maintenant je bloque pour enregistrer les données de ce formulaire dans le carnet d'adresse de la personne connectée. Il n'indique pas d'erreur mais rien ne se passe lorsque je clique sur le bouton. Il doit bien en avoir une erreur évidente qqpart... Si qqn arrive à mettre le doigt dessus plus vite que moi ce serait génial.

    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
     
                    + '<?php if (Mage::helper('customer')->isLoggedIn()) : ?>'
                    + '<?php $customer = Mage::getSingleton('customer/session')->getCustomer() ?>'
                    + '<form action="<?php echo $this->getSaveUrl() ?>" method="post" id="form-validate">'
                    + '<input type="text" name="firstname" id="firstname" value="<?php echo $customer->getFirstname() ?>" />'+ '<br/>'
                    + '<input type="text" name="lastname" id="lastname" value="<?php echo $customer->getLastname() ?>" />'+ '<br/>'  
                    + '<input type="text" name="street[]" id="street_1" value="' + m.title + '" title="<?php echo $this->__('Street Address') ?>" class="required-entry input-text" />'+ '<br/>'
                    + '<input type="text" name="street[]" id="street_2" value="' + m.street_address + '" title="<?php echo $this->__('Street Address '.'2') ?>" class="input-text" />'+ '<br/>'
                    + '<input type="text" name="postcode" id="zip" value="' + m.test + '" title="<?php echo $this->__('Zip/Postal Code') ?>" class="validate-zip-international required-entry input-text" />'+ '<br/>'
                    + '<input type="text" name="city" id="city" value="' + m.city + '" title="<?php echo $this->__('City') ?>" class="required-entry input-text" />'+ '<br/>'
                    + '<input type="text" name="country_id" id="country_id" value="France" />'+ '<br/>'
                    + '<input type="text" name="telephone" id="telephone" title="<?php echo $this->__('Telephone') ?>" value="' + m.phone + '" />'+ '<br/>'
                    + '<input type="hidden" name="default_shipping" value="1" />'
                    + '<button type="submit" title="<?php echo $this->__('Continue') ?>" class="button" onclick="shipping.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>' + '<br/>'
                    + '</form>'
                    + '<?php endif; ?>';
    Rq : Je ne peux appeler le bouton d'enregistrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <button type="submit" title="<?php echo $this->__('Save Address') ?>" class="button"><span><span><?php echo $this->__('Save Address') ?></span></span></button>
    parce que l'apostrophe de la traduction française fait planter le formulaire.

    Merci d'avance pour le coup de main

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut Please Help SVP
    Si une bonne âme peut jeter un coup d'oeil sur ce script.
    Je n'arrive pas à trouver la solution. L'adresse n'est pas enregistrée dans le carnet d'adresses et je ne sais pas pourquoi.

    J'ai modifié qq lignes :
    ajouté var dataform (au bon endroit ?) et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->getBlockHtml('formkey')?>
    cette ligne faisant planter ce script, je l'ai en fait directement remplacée par sa valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="form_key" value="Qmr...etc..." type="text">
    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
     
            generateMarkerHtml: function(m) {
                var url = m.website_url.replace(/\s/,'');
                var dataForm = new VarienForm('form-validate', true);
                return '<b>' + m.title + '</b> <br/>'
                    + m.street_address + '&nbsp;' + m.test + '&nbsp;' + m.city + '<br/>'
                    + (m.phone.length>5 ? m.phone + '<br/>' : '')
                    + (url.length>5 ? '<a href="' + (url.match(/@/) ? 'mailto:' : '') + url + '"><strong>' + url + '</strong></a><br/>' : '')
                    + '<p>' + m.notes + '</p>'
                    + '<?php if (Mage::helper('customer')->isLoggedIn()) : ?>'
                    + '<?php $customer = Mage::getSingleton('customer/session')->getCustomer() ?>'
                    + '<form action="<?php echo $this->getSaveUrl() ?>" method="post" id="form-validate">'
     
                    + '<?php echo $this->getBlockHtml('formkey')?>'
     
                    + '<input type="text" name="firstname" id="firstname" value="<?php echo $customer->getFirstname() ?>" />'+ '<br/>'
                    + '<input type="text" name="lastname" id="lastname" value="<?php echo $customer->getLastname() ?>" />'+ '<br/>'  
                    + '<input type="text" name="street[]" id="street_1" value="' + m.title + '" title="<?php echo $this->__('Street Address') ?>" />'+ '<br/>'
     
                    + '<input type="text" name="postcode" id="zip" value="' + m.test + '" title="<?php echo $this->__('Zip/Postal Code') ?>" />'+ '<br/>'
     
                    + '<input type="text" name="city" id="city" value="' + m.city + '" title="<?php echo $this->__('City') ?>" />'+ '<br/>'
     
                    + '<input type="text" name="country" id="country" value="France" />'+ '<br/>'
     
                    + '<input type="text" name="telephone" id="telephone" title="<?php echo $this->__('Telephone') ?>" value="' + m.phone + '" />'+ '<br/>'
     
                    + '<input type="hidden" name="default_shipping" value="1" />'
     
                    + '<button type="submit" title="<?php echo $this->__('Continue') ?>" class="button"><span><span><?php echo $this->__('Continue') ?></span></span></button>' + '<br/>'
     
                    + '</form>'
                    + '<?php endif; ?>';
            }

  6. #6
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    L'idéal serait de voir le code HTML généré au final. Car là on est un peu noyé entre le PHP, les messages traduits et pas encodés, etc...

    ERE

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Merci de ta réponse

    J’essaie de donner plus d’infos :

    On peut voir concrètement le sujet d’étude ici et en lire le code source :

    Carte des points relais :
    http://www.classynet.fr/kerbio/index...ts-relais.html

    L’adresse sélectionnée dans la carte (seulement possible lorsqu'on est connecté) doit devenir l’adresse de livraison par défaut dans le carnet d'adresse personnel, ici :
    http://www.classynet.fr/kerbio/index...tomer/address/

    Les input sont en text visibles seulement pour les tests

    Par ailleurs une copie du code dont je me suis inspiré pour faire le formulaire (et qui lui fonctionne bien) :

    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
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
     
    <?php
    /**
     * Edit customer address template
     *
     * @see Mage_Customer_Block_Address_Edit
     */
    ?>
    <?php if($this->getTitle()): ?>
    <div class="page-title">
        <h1><?php echo $this->getTitle() ?></h1>
    </div>
    <?php endif; ?>
    <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
    <form action="<?php echo $this->getSaveUrl() ?>" method="post" id="form-validate">
        <div class="fieldset">
        <?php echo $this->getBlockHtml('formkey')?>
        <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
        <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
            <h2 class="legend"><?php echo $this->__('Contact Information') ?></h2>
            <ul class="form-list">
                <li class="fields">
                    <?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getCustomer())->toHtml() ?>
                </li>
                <li class="wide">
     
                    <?php if ($this->helper('addressfields/data')->getCompany() != ''): ?>
     
                    <label for="company"><?php echo $this->__('Company') ?><?php if ($this->helper('addressfields/data')->getCompany() == 'req'): ?> <span class="required">*</span><?php endif ?></label><br />
                    <input type="text" name="company" id="company" title="<?php echo $this->__('Company') ?>" value="<?php echo $this->htmlEscape($this->getAddress()->getCompany()) ?>" class="<?php if ($this->helper('addressfields/data')->getCompany() == 'req'): ?>required-entry <?php endif ?>input-text" />
     
                    <?php endif ?>
     
                </li>
                <li class="fields">
                  <div class="field">            
                    <?php if ($this->helper('addressfields/data')->getTelephone() != ''): ?>
     
                    <div class="input-box">
                        <label for="telephone"class="required"><?php echo $this->__('Telephone') ?><?php if ($this->helper('addressfields/data')->getTelephone() == 'req'): ?><em>*</em><?php endif ?></label><br />
                        <input type="text" name="telephone" value="<?php echo $this->htmlEscape($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="<?php if ($this->helper('addressfields/data')->getTelephone() == 'req'): ?>required-entry <?php endif ?>input-text" id="telephone" />
                    </div>
     
                    <?php endif ?>
                  </div>
                    <?php if ($this->helper('addressfields/data')->getFax() != ''): ?>
                  <div class="field">
                    <div class="input-box">
                        <label for="fax"><?php echo $this->__('Fax') ?><?php if ($this->helper('addressfields/data')->getFax() == 'req'): ?> <span class="required">*</span><?php endif ?></label><br />
                        <input type="text" name="fax" id="fax" title="<?php echo $this->__('Fax') ?>" value="<?php echo $this->htmlEscape($this->getAddress()->getFax()) ?>" class="<?php if ($this->helper('addressfields/data')->getFax() == 'req'): ?>required-entry <?php endif ?>input-text" />
                    </div>
                  </div>                
                    <?php endif ?>
     
                </li>
            </ul>
        </div>
        <div class="fieldset">
             <h2 class="legend"><?php echo $this->__('Address') ?></h2>
            <ul class="form-list">
                <li class="wide">
                    <label for="street_1" class="required"><?php echo $this->__('Street Address') ?> <em>*</em></label><br />
                      <div class="input-box">
                    <input type="text" name="street[]" value="<?php echo $this->htmlEscape($this->getAddress()->getStreet(1)) ?>" title="<?php echo $this->__('Street Address') ?>" id="street_1" class="required-entry input-text" />
                      </div>
                </li>
     
    <?php for ($_i=2, $_n=$this->helper('customer/address')->getStreetLines(); $_i<=$_n; $_i++): ?>
                <li class="wide">
                    <div class="input-box">
                    <input type="text" name="street[]" value="<?php echo $this->htmlEscape($this->getAddress()->getStreet($_i)) ?>" title="<?php echo $this->__('Street Address '.$_i) ?>" id="street_<?php echo $_i?>" class="input-text" />
                      </div>
                </li>
    <?php endfor ?>
                <li class="fields">
                    <div class="field">
                    <div class="input-box">
                        <label for="zip" class="required"><?php echo $this->__('Zip/Postal Code') ?> <em>*</em></label><br />
                        <input type="text" name="postcode" value="<?php echo $this->htmlEscape($this->getAddress()->getPostcode()) ?>" title="<?php echo $this->__('Zip/Postal Code') ?>" id="zip" class="validate-zip-international required-entry input-text" />
                    </div>
                    </div>
                    <div class="field">
                    <div class="input-box">
                        <label for="city" class="required"><?php echo $this->__('City') ?> <em>*</em></label><br />
                        <input type="text" name="city" value="<?php echo $this->htmlEscape($this->getAddress()->getCity()) ?>"  title="<?php echo $this->__('City') ?>" class="required-entry input-text" id="city" />
                    </div>
                    </div>
                </li>
     
                <li class="fields">
                    <div class="field">
                    <div class="input-box"<?php if ($this->helper('addressfields/data')->getRegion() == ''): ?> style="display:none"<?php endif ?>>
                        <label for="region_id" class="required"><?php echo $this->__('State/Province') ?><?php if ($this->helper('addressfields/data')->getRegion() == 'req'): ?> <em>*</em><?php endif ?></label><br />
                        <select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" <?php if ($this->helper('addressfields/data')->getRegion() == 'req'): ?>class="validate-select"<?php endif ?> style="display:none">
                           <option value=""><?php echo $this->__('Please select region, state or province') ?></option>
                        </select>
                        <script type="text/javascript">
                            $('region_id').setAttribute('defaultValue',  "<?php echo $this->getAddress()->getRegionId() ?>");
                        </script>
                        <input type="text" id="region" name="region" value="<?php echo $this->htmlEscape($this->getAddress()->getRegion()) ?>"  title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none" />
                    </div>
                    </div>
                    <div class="field">
                    <div class="input-box">
                        <label for="country" class="required"><?php echo $this->__('Country') ?><em>*</em></label><br />
                        <?php echo $this->getCountryHtmlSelect() ?>
                    </div>
                    </div>
                </li>
     
                <li<?php if($this->canSetAsDefaultBilling()) echo ' class="control"' ?>>
                    <?php if($this->isDefaultBilling()): ?>
                        <strong><?php echo $this->__('Default Billing Address') ?></strong>
                    <?php elseif($this->canSetAsDefaultBilling()): ?>
                        <input type="checkbox" id="primary_billing" name="default_billing" value="1" title="<?php echo $this->__('Use as my default billing address') ?>" class="checkbox" />
                        <label for="primary_billing"><?php echo $this->__('Use as my default billing address') ?></label>
                    <?php else: ?>
                        <input type="hidden" name="default_billing" value="1" />
                    <?php endif; ?>
                </li>
                <li<?php if($this->canSetAsDefaultShipping()) echo ' class="control"' ?>>
                    <?php if($this->isDefaultShipping()): ?>
                        <strong><?php echo $this->__('Default Shipping Address') ?></strong>
                    <?php elseif($this->canSetAsDefaultShipping()): ?>
                        <input type="checkbox" id="primary_shipping" name="default_shipping" value="1" />&nbsp;
                        <label for="primary_shipping"><?php echo $this->__('Use as my default shipping address') ?></label>
                    <?php else: ?>
                        <input type="hidden" name="default_shipping" value="1" />
                    <?php endif; ?>
                </li>
            </ul>
        </div>
        <div class="buttons-set">
            <p class="required"><?php echo $this->__('* Required Fields') ?></p>
            <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
            <button type="submit" title="<?php echo $this->__('Save Address') ?>" class="button"><span><span><?php echo $this->__('Save Address') ?></span></span></button>
        </div>
    </form>
    <script type="text/javascript">
        var dataForm = new VarienForm('form-validate', true);
        new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>);
    </script>
    autre code :

    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
     
        public function getCountryHtmlSelect($type)
        {
            $countryId = $this->getAddress()->getCountryId();
            if (is_null($countryId)) {
                $countryId = Mage::getStoreConfig('general/country/default');
            }
            $select = $this->getLayout()->createBlock('core/html_select')
                ->setName($type.'[country_id]')
                ->setId($type.':country_id')
                ->setTitle(Mage::helper('checkout')->__('Country'))
                ->setClass('validate-select')
                ->setValue($countryId)
                ->setOptions($this->getCountryOptions());
            if ($type === 'shipping') {
                $select->setExtraParams('onchange="shipping.setSameAsBilling(false);"');
            }
     
            return $select->getHtml();
        }
     
     
        public function getRegionHtmlSelect($type)
        {
            $select = $this->getLayout()->createBlock('core/html_select')
                ->setName($type.'[region]')
                ->setId($type.':region')
                ->setTitle(Mage::helper('checkout')->__('State/Province'))
                ->setClass('required-entry validate-state')
                ->setValue($this->getAddress()->getRegionId())
                ->setOptions($this->getRegionCollection()->toOptionArray());
     
            return $select->getHtml();
        }

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Je ne peux pas voir le formulaire (je n'ai pas envie de m'inscrire pour ça ) mais peux tu passer le code PHP qui enregistre l'adresse, car ce doit être lui qui pose souci. Non ?

    ERE

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    code PHP qui enregistre l'adresse, car ce doit être lui qui pose souci. Non ?
    Je peux toujours me tromper mais je ne pense pas puisque je n'ai pas touché à ce code d'enregistrement et qu'il marche bien dans les autres cas où il est utilisé.

  10. #10
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    ok. Tu as un compte email/motdepasse de test sur ton site ?

    ERE

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Tu as un compte email/motdepasse de test sur ton site ?
    Je viens de t'en envoyer un en message privé. Merci

  12. #12
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Re,

    Merci pour l'identifiant.

    Est ce normal d'avoir ce formulaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="form-validate" method="post" action="">
    L'action est un peu orpheline

    Ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="<?php echo $this->getSaveUrl() ?>" ...
    semble problématique. Vérifie ce que devrait te renvoyer getSaveUrl


    ERE

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Cool

    Merci c'est pê une bonne piste.

    J'ai fait un test en entrant en dur l'action :
    form action="http://www.classynet.fr/kerbio/index.php/customer/address/formPost/" method="post" id="form-validate"
    (getSaveUrl renvoie ce lien dans le formulaire d'ajout d'une adresse dans mon carnet d'adresse.)

    (Par ailleurs pour info le formulaire de création d'adresse de livraison lors du passage d'une commande (étape 2) a l'action vide d'origine.)

    L'adresse n'est tjs pas entrée comme adresse de livraison par défaut dans le carnet d'adresses, mais après avoir cliqué sur le bouton "continuer" je passe de la page
    http://www.classynet.fr/kerbio/index...ts-relais.html
    à celle-ci
    http://www.classynet.fr/kerbio/index...tomer/address/


    Je vais continuer à explorer cette piste, et vérifier la validité de la key

    merci de ton aide.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut


    Un bon résultat !
    J'arrive à afficher l'adresse dans le carnet d'adresses comme adresse de livraison par défaut !

    Il fallait à la fois mettre la bonne url donnée par getSaveUrl dans form action
    ET
    avoir la bonne formkey correspondante (j'en avais notée une autre)
    Je les ai mises toutes les 2 en dur pour le moment.

    Maintenant faut plus que le formulaire arrive à trouver ces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                    + '<form action="<?php echo $this->getSaveUrl() ?>" method="post" id="form-validate">'
     
                    + '<?php echo $this->getBlockHtml('formkey')?>'
    Sais pas trop comment je vais m'y prendre mais YAPLUCA

    Encore merci

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 10
    Par défaut
    Ca marche !
    J'ai laissé le getsaveurl en dur
    et remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo $this->getBlockHtml('formkey')?>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo Mage::getSingleton('core/session')->getFormKey() ?>

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

Discussions similaires

  1. [AC-2000] Menu contextuel d'un objet SpreadSheet inséré dans formulaire access
    Par ddngforum dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/07/2010, 18h16
  2. Réponses: 3
    Dernier message: 11/03/2010, 09h05
  3. Photo insérée dans un formulaire.
    Par gentoo dans le forum IHM
    Réponses: 2
    Dernier message: 09/02/2007, 21h47
  4. Données formulaire A insérées dans formulaire B
    Par KEROZEN dans le forum Access
    Réponses: 6
    Dernier message: 28/06/2006, 11h42
  5. revalider les datas insérées dans un formulaire
    Par capouille dans le forum Access
    Réponses: 2
    Dernier message: 19/04/2006, 06h37

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