Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

Ajout Infos Clients

Programmation, discussions et suggestions pour l'amélioration de OpenCart

Ajout Infos Clients

Messagepar netchris » 23 Juil 2010, 16:00

Bonjour,

j'aimerai ajouter à la fiche client:
Une date de naissance

De peur de tout faire sauter, je n'ose toucher aux bases et aux programmes.
(par contre, j'applique à la lettre les directives de modifs affichées sur ce blog).

Christian
v 1.4.7.
Netchris
version 1.5.1.1
Php 5.0
Avatar de l’utilisateur
netchris
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 70
Inscription: 14 Juil 2010, 22:00
Localisation: Marly le roi

Ajout Infos Clients

Messagepar LeorLindel » 05 Aoû 2010, 00:23

Les modifications ci-dessous ont été faites pour une version 1.4.8, vous pouvez l'essayer sur la version antérieure 1.4.7, cela devrait fonctionner. Dans le cas échéant, mettre les erreurs dans ce sujet.

Afin d'ajouter la date de naissance dans la fiche d'inscription, voici ce qu'il faut modifier.

Injecter cette requête dans la base de données via PhpMyAdmin :
Code: Tout sélectionner
ALTER TABLE `customer` ADD `dob` DATE NULL AFTER `lastname`

"dob" signifie "Date of birthday" soit "Date de naissance"

Dans le fichier : upload/catalog/controller/account/create.php

Chercher cette ligne :
Code: Tout sélectionner
       $this->data['entry_lastname'] = $this->language->get('entry_lastname');

Ajouter dessous, cette ligne :
Code: Tout sélectionner
       $this->data['entry_dob'] = $this->language->get('entry_dob');

Chercher ces lignes :
Code: Tout sélectionner
      
      if (isset($this->error['lastname'])) {
         $this->data['error_lastname'] = $this->error['lastname'];
      } else {
         $this->data['error_lastname'] = '';
      }

Ajouter dessous, ces lignes :
Code: Tout sélectionner
      if (isset($this->error['dob'])) {
         $this->data['error_dob'] = $this->error['dob'];
      } else {
         $this->data['error_dob'] = '';
      }

Chercher ces lignes :
Code: Tout sélectionner
      if (isset($this->request->post['lastname'])) {
          $this->data['lastname'] = $this->request->post['lastname'];
      } else {
         $this->data['lastname'] = '';
      }


Ajouter dessous, ces lignes :
Code: Tout sélectionner
      if (isset($this->request->post['dob'])) {
          $this->data['dob'] = $this->request->post['dob'];
      } else {
         $this->data['dob'] = '';
      }


Chercher ces lignes :
Code: Tout sélectionner
       if ((strlen(utf8_decode($this->request->post['lastname'])) < 1) || (strlen(utf8_decode($this->request->post['lastname'])) > 32)) {
            $this->error['lastname'] = $this->language->get('error_lastname');

Ajouter dessous, ces lignes :
Code: Tout sélectionner
       }

       if ((strlen(utf8_decode($this->request->post['dob'])) < 1) || (strlen(utf8_decode($this->request->post['dob'])) > 10)) {
            $this->error['dob'] = $this->language->get('error_dob');

Dans le fichier : upload/catalog/language/french/account/create.php

Chercher cette ligne :
Code: Tout sélectionner
$_['entry_lastname']       = 'Nom :';

Ajouter dessous, cette ligne :
Code: Tout sélectionner
$_['entry_dob']            = 'Date de naissance :';

Chercher cette ligne :
Code: Tout sélectionner
$_['error_lastname']       = 'Le champ <b>Nom</b> doit &ecirc;tre compos&eacute; de 3 &agrave; 32 caract&egrave;res ! ';

Ajouter dessous, cette ligne :
Code: Tout sélectionner
$_['error_dob']            = 'Le champ <b>Date de naissance</b> doit &ecirc;tre compos&eacute; de 10 caract&egrave;res ! ';

Faire de même pour les autres langues.

Dans le fichier : upload/catalog/view/theme/default/template/account/create.tpl

Chercher ces lignes :
Code: Tout sélectionner
          <tr>
            <td><span class="required">*</span> <?php echo $entry_lastname; ?></td>
            <td><input type="text" name="lastname" value="<?php echo $lastname; ?>" />
              <?php if ($error_lastname) { ?>
              <span class="error"><?php echo $error_lastname; ?></span>
              <?php } ?></td>
          </tr>

Ajouter dessous, ces lignes :
Code: Tout sélectionner
        <tr>
         <td><span class="required">*</span> <?php echo $entry_dob; ?></td>
         <td><input type="text" name="dob" value="<?php echo $dob; ?>" size="8" id="dob" />
           <?php if ($error_dob) { ?>
           <span class="error"><?php echo $error_dob; ?></span>
           <?php } ?></td>
        </tr>

A la fin du fichier chercher ces lignes :
Code: Tout sélectionner
  <script type="text/javascript"><!--
$('select[name=\'zone_id\']').load('index.php?route=account/create/zone&country_id=<?php echo $country_id; ?>&zone_id=<?php echo $zone_id; ?>');

Ajouter dessous, ces lignes :
Code: Tout sélectionner
//--></script>
<script type="text/javascript" src="catalog/view/javascript/jquery/ui/ui.datepicker.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
    $('#dob').datepicker({changeMonth: true, changeYear: true, yearRange: '-80:+0', dateFormat: 'yy-mm-dd'});
});

Vous pouvez mettre la date au format français en modifiant :
Code: Tout sélectionner
dateFormat: 'yy-mm-dd'}

Par :
Code: Tout sélectionner
dateFormat: 'dd-mm-yy'}

Ce dernier ajout fait appel au calendrier et afin que celui-ci soit appelé, il faut ajouter dans le répertoire : upload/catalog/view/javascript/jquery/ le répertoire ui/ qui se trouve dans le répertoire upload/admin/javascript/

Dans le fichier : upload/catalog/view/theme/default/template/common/header.tpl

Chercher cette ligne :
Code: Tout sélectionner
<link rel="stylesheet" type="text/css" href="catalog/view/theme/<?php echo $template; ?>/stylesheet/stylesheet.css" />

Ajouter dessous, ces lignes :
Code: Tout sélectionner
<link rel="stylesheet" type="text/css" href="catalog/view/javascript/jquery/ui/themes/ui-lightness/ui.all.css" />
<script type="text/javascript" src="catalog/view/javascript/jquery/ui/ui.core.js"></script><!--[if lt IE 7]>


It's all.
Fichiers joints
dob.png
dob.png (37.49 Kio) Vu 4307 fois
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Ajout Infos Clients

Messagepar netchris » 12 Aoû 2010, 08:54

La modification de la partie ajout de la date de naissance dans la fiche client fonctionne a merveille !

Cependant, l'information n'apparait pas dans la partie ADMIN/VENTE/CLIENT.

Merci pour ton aide.
Netchris
version 1.5.1.1
Php 5.0
Avatar de l’utilisateur
netchris
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 70
Inscription: 14 Juil 2010, 22:00
Localisation: Marly le roi

Re: Ajout Infos Clients

Messagepar LeorLindel » 13 Aoû 2010, 15:03

Il est vrai que je n'ai pas fait de modification dans ce sens, n'y ayant pas pensé. Je me suis intéressé à la partie "catalog" et non "admin".

Quand j'aurai un peu plus de temps de disponible, je posterai ici les modifications.

[Edit] Après réflexion je pense que cela mettra un peu plus de temps car dans l'admin, il y a pas mal de fichier où la date de naissance est à ajouter ainsi que dans la partie "catalog", par exemple dans le compte client entre autre..!! [/Edit]
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Ajout Infos Clients

Messagepar netchris » 15 Aoû 2010, 11:11

Merci. Je vais patienter patiemment :)
Netchris
version 1.5.1.1
Php 5.0
Avatar de l’utilisateur
netchris
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 70
Inscription: 14 Juil 2010, 22:00
Localisation: Marly le roi

Re: Ajout Infos Clients

Messagepar netchris » 28 Aoû 2010, 11:21

Bonjour,

Des news de la suite ?
Affichage de la date de naissance dans la fiche client en mode ADMINISTRATEUR.

Cordialement
Netchris
version 1.5.1.1
Php 5.0
Avatar de l’utilisateur
netchris
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 70
Inscription: 14 Juil 2010, 22:00
Localisation: Marly le roi

Re: Ajout Infos Clients

Messagepar LeorLindel » 28 Aoû 2010, 13:32

Comme je l'ai dit précédemment, il y a beaucoup trop de fichiers à modifier pour que cela soit mis dans ce sujet, il faudrait presque en faire un module à part entière.
Si quelqu'un se sent apte à développer, il peut mettre en téléchargement son travail dans ce sujet.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Ajout Infos Clients

Messagepar Angelheart29 » 31 Jan 2012, 18:48

Bonjour,

Concernant la modification sur le format de la date en dd/mm/yyyy, j'aurai une question :

Cette modification n'entraine-t-elle pas un problème d'intégration dans phpmyadmin ? J'ai fait le test, et la date, sous ce format, n'est pas enregistrée dans la base de données (qui est sous la forme yyyy-mm-dd).

Est-ce qu'une autre manipulation (php ou autre) est à prévoir en plus de la simple modification du datepicker ??
OpenCart v1.5.1.1 Hébergé chez OVH
Angelheart29
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 17
Inscription: 01 Déc 2011, 12:18

Re: Ajout Infos Clients

Messagepar Angelheart29 » 08 Fév 2012, 17:10

Angelheart29 a écrit:Bonjour,

Concernant la modification sur le format de la date en dd/mm/yyyy, j'aurai une question :

Cette modification n'entraine-t-elle pas un problème d'intégration dans phpmyadmin ? J'ai fait le test, et la date, sous ce format, n'est pas enregistrée dans la base de données (qui est sous la forme yyyy-mm-dd).

Est-ce qu'une autre manipulation (php ou autre) est à prévoir en plus de la simple modification du datepicker ??


Je me permets de relancer. En effet, pour le moment, j'ai laissé la date de remplacement (une fois que la personne la choisit dans datepicer) en yyyy-mm-dd, étant donné que phpmyadmin ne peut pas m'intégrer la modification dans sa base en mettant la date en français. Par contre, la date de base est bien en français. Est-il possible de basculer la date choisie sur datepicker en français sans provoquer de soucis sur la base de données ?
OpenCart v1.5.1.1 Hébergé chez OVH
Angelheart29
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 17
Inscription: 01 Déc 2011, 12:18


Retourner vers Développement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron