Annonce

Mettez-vous à jour ! WordPress 3.0 est disponible en français.
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook et sur Twitter

#1 30-11-2008 12:29:17

Defred
Connaisseur WP
Date d'inscription: 20-08-2007
Messages: 20

création automatique de pages à partir de base de donnée

Bonjour,

Ma configuration WP actuelle
- Version de WordPress : 2.6.5
- Thème utilisé : wp silver
- Plugins en place : akismet
- Nom de l'hebergeur : ovh
- Adresse du site : ndd pas encore créé

Problème(s) rencontré(s) :

Bonjour à tous,

je dois créer les pages / articles de plusieurs dizaines de centres nautiques dans un site.

Pour cela, je dispose d'une base de donnée sous excel, exportable en csv, qui a la forme suivante (champs) :

Nom du centre | port | ville | code postal | nombre d'amarrages | spécificité technique | logo (si existant) | lien vers site web | description texte

J'imagine qu'il est possible d'injecter directement les lignes dans la base de données, et je recherche également la méthode à mettre en oeuvre pour créer les pages ou articles directement depuis cette base. Une sorte de moulinette.

Idéalement, la page créée aura la forme suivante :

<h1 >Nom du centre </ h1> (injecté directement en title)
<h2 >Port </ h2> : nom du port (injection du nom du port)
logo
<strong >Localisation </ strong> : code postal - ville (injection des deux éléments à la suite)
<h2 >Description </ h2>
<em >nb amarrages </ em> : nombre (injecté depuis la base)
<em >spécificité technique </ em> : texte (injecté depuis la base)
<em >site web </ em> : lien vers site (no follow ?)
<h2 >Détail du port de [nom du port] </ h2> (injection partielle depuis la base)
description texte (injecté depuis la base)

Au pire, le logo s'intégrera à la main.

Je suis donc à la recherche :

- soit d'une moulinette paramétrable ( ^^ ),
- soit d'une procédure à suivre pour injecter les données dans la base, créer la page php qui va intégrer les données et du module qui va lancer la création des pages dans wordpress (ou des articles, à déterminer)
- soit de liens vers des ressources me permettant de réaliser cela avec mon niveau, qui en php est assez faible je le reconnais.

D'avance merci pour votre aide.

Hors ligne

 

#2 30-11-2008 22:36:19

jaiunblog
Habitué WP
Date d'inscription: 10-12-2006
Messages: 54

Re: création automatique de pages à partir de base de donnée

hello,

Avec phpmyadmin ajoute un post dans mysql et regarde le code de la requet sql (si c'est du chinois cherche des tutos php/mysql/bdd sur google).

Après si tu es bon en php, tu te fais une moulinette avec un http://fr.php.net/foreach

Hors ligne

 

#3 01-12-2008 08:05:17

Defred
Connaisseur WP
Date d'inscription: 20-08-2007
Messages: 20

Re: création automatique de pages à partir de base de donnée

Bonjour,

merci "jaiunblog" pour cette réponse. A priori il n'existerait donc rien de "standard" en la matière, et le niveau requis semble nécessiter une solide double compétence php/bdd + fonctionnement de wordpress.

Je vais donc devoir étudier la possibilité de sous-traiter cette partie.

Si quelqu'un est intéressé, qu'il n'hésite pas à me contacter par mp pour un devis rapide.

Hors ligne

 

#4 01-12-2008 21:06:11

jaiunblog
Habitué WP
Date d'inscription: 10-12-2006
Messages: 54

Re: création automatique de pages à partir de base de donnée

Tu devrais te pencher sur ce problème, ce n'est pas difficile :-)
La première moulinette csv -> html (30 minutes de concentration)
La deuxième peut-être une ou deux heures (si tout va bien)...

Hors ligne

 

#5 02-12-2008 18:53:30

LH
Passionné WP
Lieu: Grand Paris
Date d'inscription: 15-11-2006
Messages: 345
Site web

Re: création automatique de pages à partir de base de donnée

Salut,

Ce n'est pas très compliqué de faire la moulinette.
Pour des exemples, tu peux regarder dans les fichiers du dossier wp-admin/import/ .
Par exemple, wp-admin/import/wordpress.php

Une moulinette simple serait dans de ce genre:

Code:

  1. <?php
  2.  
  3. // charge l'API WP
  4. include("wp-blog-header.php");
  5.  
  6. // lit chaque ligne du fichier dans le tableau
  7. $tableau_csv=file("mon-fichier.csv");
  8.  
  9. // parcours de chaque ligne
  10. foreach ($tableau_csv as $i => $v)
  11. {
  12.     // on enlève les blancs en trop
  13.     $v=trim($v);
  14.     // lecture des valeurs de la ligne
  15.     list($nom_du_centre, $port, $ville, /* etc... */)=explode(",", $v);
  16.  
  17.     $post_title=$nom_du_centre;
  18.     $post_content=""
  19.       ."<h2>".$port."</h2>"
  20.       ."<h1>".$nom_du_centre.""</h1>"
  21.       ."etc..."
  22.     ;
  23.     $post_val=array(
  24.         "post_title"       => $post_title,
  25.         "post_content"  => $post_content
  26.     );
  27.  
  28.    $pid=wp_insert_post($post_val);
  29. }
  30.  
  31. ?>

Bon courage tongue

Hors ligne

 

#6 03-12-2008 14:39:07

Defred
Connaisseur WP
Date d'inscription: 20-08-2007
Messages: 20

Re: création automatique de pages à partir de base de donnée

Merci LH,

je vais mettre mon nez la dedans avec plaisir !!

je reviendrai poster ici les subtilités qui m'auront causé des ennuis, l'histoire que ça serve à tout le monde.

Hors ligne

 

#7 11-03-2010 16:53:39

Grib19
Membre WP
Date d'inscription: 21-12-2008
Messages: 8

Re: création automatique de pages à partir de base de donnée

On attend toujours les subtilités ;o)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.22
© Copyright 2005-2006 WordPress France

[ Generated in 0.039 seconds, 14 queries executed ]