Aller au contenu

v4np13

Hubmaster
  • Compteur de contenus

    337
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

À propos de v4np13

  • Date de naissance 27/01/1987

Pour me contacter

  • Mon Site
    http://vanpie.celeonet.fr/
  1. Quelques minutes plus tard, j'ai trouvé la deuxième solution, rajouter un return false;: function initAffichageAnnees(){ var tableLength = tableAnnees.length; var nav = document.getElementById('timeline'); // récupère la ligne du temps var liens = nav.getElementsByTagName('a'); // récupère les liens de la ligne du temps for (i = 0; i < liens.length; i++){ var idName = liens[i].id; idName = idName.substr(0,9); //transforme annee2006lien en annee2006 liens[i].idName = idName; liens[i].onclick = function() { afficher(this.idName); return false; }; } }
  2. Après quelques recherches, j'ai trouvé une des deux solutions. Le problème du dernier de la boucle: window.onload = initAffichageAnnees; function initAffichageAnnees(){ var tableLength = tableAnnees.length; var nav = document.getElementById('timeline'); // récupère la ligne du temps var liens = nav.getElementsByTagName('a'); // récupère les liens de la ligne du temps for (i = 0; i < liens.length; i++){ var idName = liens[i].id; liens[i].idName = idName.substr(0,9); //transforme annee2006lien en annee2006 et stocke dans liens[i] liens[i].onclick = function() { //rajoute le onclick au lien afficher(this.idName); ///récupère l'idName de cet objet }; } } En utilisant this.idName. Il ne reste plus que le problème de l'affichage qui ne reste pas plus longtemps qu'un dixième de seconde.
  3. Bonjour, (problèmes résolus, solution plus bas ) Suite à la lecture de l'article Séparer le comportement de la structure, j'essaye de séparer le JavaScript du code HTML. Ce n'est pas évident quand on ne pratique pas le JavaScript tout les jours. J'ai une page web avec une ligne du temps qui a plusieurs liens (liens par année). En dessous de cette ligne du temps, j'ai un cadre par année. Par défaut, je les affiche tous. Quand l'utilisateur clique sur un des liens, j'aimerai qu'il n'affiche que la boite de l'année sélectionnée. Cela fonctionnait avec de vulgaires onclick sur mes liens, mais je souhaiterai séparer la couche présentation contenu de la couche événementielle. J'ai placé des id sur mes liens: annee2006lien, annee2007lien et quand on cliquera sur un de ces liens, seul celui de l'année sélectionnée s'affichera. Par exemple, annee2006lien affichera annee2006 et cachera annee2007. Voici le code JS qu'il exécute à chaque chargement de page: window.onload = initAffichageAnnees; function initAffichageAnnees(){ var tableLength = tableAnnees.length; var nav = document.getElementById('timeline'); // récupère la ligne du temps var liens = nav.getElementsByTagName('a'); // récupère les liens de la ligne du temps for (i = 0; i < liens.length; i++){ var idName = liens[i].id; idName = idName.substr(0,9); //transforme annee2006lien en annee2006 liens[i].onclick = function() { //rajoute le onclick au lien afficher(idName); }; } } Voici le contenu de la fonction Afficher (inchangée avec le passage onclick dans la page html -> onclick dans un fichier externe): function afficher(element){ var tableAnnees = new Array("annee2006", "annee2007", "annee2008"); var tableLength = tableAnnees.length; if (element != null){ document.getElementById(element).style.display = 'block'; //affiche l'element document.getElementById("btnAfficherTout").style.display = 'block'; for (i=0; i<tableLength; i++) { if (tableAnnees[i] != element) document.getElementById(tableAnnees[i]).style.display = 'none'; } } else{//affiche tout for (i=0; i<tableLength; i++) { document.getElementById(tableAnnees[i]).style.display = 'block'; } document.getElementById("btnAfficherTout").style.display = 'none'; } } Actuellement, quand on clique, il cache pendant un dixième de seconde avant de tout réafficher. Et j'ai également remarqué qu'il affichait toujours le même cadre. Ce cadre correspond au dernier de la boucle des liens (dans le code d'initialisation). D'après ce que je comprends (débutant inside), il réinitialise à chaque fois qu'on clique et il perdrait l'endroit où j'ai cliqué (valeur de idName) ? Je pense qu'il y a deux problèmes: -le fait qu'il cache seulement pendant un dixième de seconde, pourquoi il ne laisse pas caché/affiché comme avant quand je faisais mes onclick dans le code html? -le fait qu'il perde le lien cliqué, si je clique sur 2006, il m'affiche le cadre de 2008 (dernier dans la boucle des liens). Pourriez-vous m'aider ? Merci d'avance
  4. Merci ebe327 pour ces précisions. L'intégration de mon CSS fonctionne. Maintenant j'attaque la partie programmation à proprement parler. Également plus chaud que sur les autres CMS par exemple afficher plus qu'un article au centre de la page et la fameuse ligne <?php print $content; ?> qui fait tout le travail... il va falloir que je plonge sérieusement les mains dans le cambouis. Malgré le fait que je doive utiliser Drupal, je n'arrive pas trop à cerner ses avantages par rapport à d'autres CMS. Quasiment toute la mise en place de Drupal se fait via les fichiers sources. Et je redoute le moment où il va falloir expliquer le concept de node et d'alias d'url au client... pas très user-friendly. Bref ce n'est que mon avis, il va peut-être évoluer avec le temps.
  5. Merci beaucoup pour le lien Cariboo, je vais regarder cela de plus près. Je ne connaissais pas le site en question et il m'a l'air assez bien fourni.
  6. Personne ? Je ne demande pas qu'on le fasse à ma place, mais qu'on me donne une route à suivre ou un début de réponse. J'ai réalisé la maquette HTML/CSS indépendamment à Drupal, mais une fois que je veux l'intégrer c'est assez coton. Ce n'est pas un simple copier/coller du CSS dans l'onglet style et une restructuration du gabarit à ma sauce comme dans TXP ou EE. D'après ce que j'ai compris, tout cela se paramètre via les fichiers source de Drupal. Mais comment faire pour modifier le thème du site sans pour autant modifier le thème de l'administration ? Et comment savoir dans quels fichiers se trouve le code source de certains appels de fonction ? Merci d'avance pour votre aide.
  7. Bonjour à tous, je patauge un peu depuis quelque temps. On me demande d'intégrer une maquette HTML/CSS dans Drupal. Je n'ai aucune expérience dans Drupal et la documentation que j'ai pu trouver sur le site de la communauté Drupal ne m'aide pas beaucoup. A force d'essayer, j'ai l'impression de faire pire que bien. Pour le moment, j'ai copié le dossier du thème Garland et j'essaye de le modifier pour lui donner la forme de ma maquette. Je me suis rendu compte que je modifiais le thème de l'administration en même temps que le site, est-ce normal ? Si oui, ma maquette n'est pas vraiment adaptée pour cette partie-là. Est-il possible de développer un thème uniquement pour le site que les visiteurs verront ? J'ai trouvé ce module assez intéressant, il me permet de savoir dans quels fichiers je dois modifier, mais avec certains fichiers, cela ne suffit pas. Il me rajoute du code et je ne sais pas trop d'où il me le sort. Bref, ça change beaucoup de mes expériences passées (Expression Engine et TextPattern) où je pouvais modifier mon thème directement dans le CMS sans me préoccuper des fichiers présents sur le FTP. Connaîtriez-vous une bonne adresse qui puisse m'aider ou pourriez-vous m'expliquer dans les grandes lignes comment je dois procéder ? Merci d'avance pour votre aide.
  8. Mouais, mais dans ce cas, c'est plus compliqué d'aller modifier la valeur de la quantité du produit ref3, non? Dans le cas de l'utilisation de deux tableaux, le problème c'est qu'il faut s'assurer qu'on travaille bien en parallèle dans les deux.
  9. Je ne comprends pas bien la question? Je pourrais tout stocker dans un seul et unique tableau?
  10. J'ai différents fichiers (j'ai remodifié comme Kioob le disait): session.php où j'initialise la session s'il le faut, ce fichier est en entête de toutes mes pages <? session_start(); /* initialisation de la session */ if (!isset($_SESSION["produit"])){ echo "vider"; /* le mot vider apparaît qu'une seule fois lors de la créations des cookies de session */ /*session_register("produit"); session_register("quantite");*/ $_SESSION["produit"] = array(); $_SESSION["quantite"] = array(); }?> panier.php, la page où je récupère un nom d'article et une quantité, je fais mes différents tests (quantité numérique et positive,...) et si tout est OK, je rajoute dans mes tableaux. <? $i = sizeof($_SESSION["produit"]); $_SESSION["produit"][$i] = $newProduit; $_SESSION["quantite"][$i] = $newQuantite; ... header("Refresh: 1; url=catalogue.php"); ?> catalogue.php, une fois les opérations ci-dessus effectuées, je reviens automatiquement sur la page catalogue.php via un header et sur cette page, j'essaye d'afficher la taille du tableau. echo sizeof($_SESSION["produit"]); print_r( $_SESSION ); Mais il affiche toujours 0 et un tableau vide... Edit: j'ai trouvé l'origine du problème J'avais oublié l'include session.php dans panier.php......... Désolé pour le dérangement et merci pour votre aide.
  11. Je viens de mettre en place le serialize/unserialize dans mon code comme expliqué. Mais ça n'améliore pas la situation, la taille apparaît toujours comme vide (0 élément dans les 2 tableaux malgré l'ajout d'éléments). Avant la sérialisation, il m'affiche bien la taille du tableau égale à 1 quand je fais un ajout. Mais une fois sérialisé/désérialisé, le tableau est soit-disant vide.
  12. A la base, je pensais faire comme cela. Mais en y réfléchissant, ça va en faire des requêtes SQL, ça ne serait pas mieux de stocker le tout dans un cookie en attendant la confirmation du visiteur? Donc attendre le moment où il passe la commande en se loguant ou créant un nouveau compte? Le fait d'enregistrer la moindre modification dans la base de données dès le départ aura un impact sur la vitesse d'exécution (minime peut-être mais quand même) et sur l'encombrement de la DB.
  13. Je connais le principe de la sérialisation (Java) mais je ne vois pas trop comment ça pourrait m'aider... En fait, j'utilise deux tableaux: un pour les produits et un autre pour stocker la quantité. Et en passant, je suis obligé de passer par les sessions.
  14. Bonjour à tous, Je dois réaliser un mini site e-commerce pour mon projet de fin d'année et on m'impose certaines contraintes. L'une d'elles est de mémoriser le panier du visiteur dans une variable de type session. On nous explique vaguement comment ça fonctionne. Ce code pour créer un tableau dans une variable session: if (!isset($_SESSION["produit"])){ session_register("produit"); $_SESSION["produit"] = array(); } La partie ci-dessus me semble cohérente par contre ce qui suit l'est moins à mes yeux. Pour savoir combien d'éléments on a dans le tableau, on devrait utiliser la fonction count(). Et pour ajouter un produit dans le tableau, on ferait comme ceci: $i = count($_SESSION["produit"]); $_SESSION["produit"][$i] = $monProduit; J'ai essayé de faire de plusieurs façons, mais le contenu du tableau produit apparaît toujours vide quand je fais: print_r($_SESSION); J'ai regardé dans diverses documentation concernant les variable session, et je ne trouve rien de semblable. C'est pour cela que je viens me joindre à vous pour un petit coup de pouce. D'où pourrait venir le problème? Merci par avance pour votre aide.
  15. Bonjour, Je ne sais pas si ce service existe, mais je suis à la recherche d'une ou deux bases de données gratuites. Je n'ai pas besoin d'hébergement,... juste d'une base de données avec interface graphique (phpmyadmin,...). Ce serait pour utiliser au cours d'un projet de programmation réseau afin de faire des backups en cas de plantages,... J'ai d'abord pensé à utiliser mon hébergement Celeonet mais je ne pourrais parce que je n'ai pas les droits pour créer un nouvel user et que je devrais par conséquent donner mes identifiants et mots de passe. Pour ceux qui veulent des détails sur le projet en lui-même, ce sera un simulateur d'achats et ventes d'actions. Donc, on aura 3 applications (Client, Banque et Stock Exchange) qui doivent communiquer entre elles via le réseau. Mais en cas de pépin (déconnection d'un client ou d'une banque) on doit pouvoir récupérer ces données. Et le tout sera programmé en Java. J'aurai besoin de ces bases de données jusqu'à Noël maximum, passé ce délai le projet sera défendu devant un jury,... Connaissez-vous un site ou l'autre qui proposerait ces services gratuitement tout en garantissant une stabilité (pas de perte des données et disponibilité garantie durant la journée). Merci d'avance pour vos conseils et aide. PS: Pour Free, ça ne marchera pas, on doit pouvoir se connecter à partir de la Belgique et du Grand-Duché du Luxembourg.
×
×
  • Créer...