iCagenda : une solution pour importer depuis un fichier CSV (ou autre) ?

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] iCagenda : une solution pour importer depuis un fichier CSV (ou autre) ?

    Bonjour à tous !

    Apparemment, iCagenda ne permet pas encore d'importer les événements via des fichiers CSV.

    Connaissez-vous une solution pour y arriver ?

    (n'importe quoi. Pas forcément avec une interface. Même un script)
    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

  • #2
    salut,
    tu sait comment sont organisés tes tables sql ?
    Un script d'import serait faisable.
    Surtout si tu maitrise le format d'entrée.....

    Commentaire


    • #3
      Salut lefabdu51 !

      Merci de ton intérêt

      Il y a plusieurs tables icagenda, mais je pense que tout ce qui nous intéresse (titre/alias, lien vers l'image, date, lieu, site et adresse) se trouve sur la même table, à savoir icagenda_events.
      Voici un exemple (aaargh, difficile de copier-coller un tableau dans cet éditeur visiblement...) :


      Code HTML:
           id asset_id ordering state approval site_itemid checked_out checked_out_time title alias access language hits created created_by created_by_alias created_by_email modified modified_by username catid image file displaytime weekdays daystime startdate enddate period dates next time place website email phone name city country address coordinate lat lng shortdesc desc metadesc params 13686 12273 10745 1 0 0 0 0000-00-00 00:00:00 How can Blockchain Change the Future? how-can-blockchain-change-the-future 1 * 742 2019-05-28 10:54:08 813     2019-05-28 10:54:08 813 hajarEUE2017 4 images/LOGOS/BRITISH_CHAMBER.jpg   1     2019-09-09 12:30:00 2019-09-09 14:00:00 a:1:{i:0;s:16:"2019-09-09 12:30";} a:1:{i:0;s:16:"0000-00-00 00:00";} 2019-09-09 12:30:00   British Chamber of Commerce in Belgium https://www.britishchamber.be/event/how-can-blockchain-change-future           Boulevard Bischoffsheim 11, 1000, Brussels, Belgium   0.0000000000000000 0.0000000000000000   <p style="text-align: justify;"><span style="font-size: 10pt;">We are pleased to welcome&nbsp;Mr. Pēteris Zilgalvis, Head of Unit, Digital Innovation and Blockchain, Digital Single Market, DG CONNECT   {"statutReg":"","accessReg":"","typeReg":"1","reg_deadline":"","maxReg":"","maxRlistGlobal":"","maxRlist":"","RegButtonText":"","RegButtonLink":"","RegButtonLink_Article":"","RegButtonLink_Url":"","RegButtonTarget":"0","atevent":"","first_published_and_approved":1}
      13686 12273 10745 1 0 0 0 0000-00-00 00:00:00 How can Blockchain Change the Future? how-can-blockchain-change-the-future 1 * 742 2019-05-28 10:54:08 813 2019-05-28 10:54:08 813 hajarEUE2017 4 images/LOGOS/BRITISH_CHAMBER.jpg 1 2019-09-09 12:30:00 2019-09-09 14:00:00 a:1:{i:0;s:16:"2019-09-09 12:30";} a:1:{i:0;s:16:"0000-00-00 00:00";} 2019-09-09 12:30:00 British Chamber of Commerce in Belgium https://www.britishchamber.be/event/how-can-blockchain-change-future Boulevard Bischoffsheim 11, 1000, Brussels, Belgium 0.0000000000000000 0.0000000000000000 <p style="text-align: justify;"><span style="font-size: 10pt;">We are pleased to welcome&nbsp;Mr. Pēteris Zilgalvis, Head of Unit, Digital Innovation and Blockchain, Digital Single Market, DG CONNECT {"statutReg":"","accessReg":"","typeReg":"1","r eg_ deadline":"","maxReg":"","maxRlistGlobal":"","maxR list":"","RegButtonText":"","RegButtonLink":"","Re gButtonLink_Article":"","RegButtonLink_Url":"","Re gButtonTarget":"0","atevent":"","first_published_a nd_approved":1}
      Comme toujours, mon approche est "keep it simple".
      Mieux vaut un petit script qui fait le job qu'une usine à gaz...

      A priori, les données seraient dans un fichier Excel, qui peut être exporté en csv.
      Puis il faut injecter le contenu dans le site (d'une manière aussi simple que possible pour un utilisateur lambda).

      <table class="table table-striped" id="dbr_results">
      <thead><tr>
      <td class="ghosted is_id">id</td>
      <td class="ghosted">asset_id</td>
      <td class="ghosted">ordering</td>
      <td class="ghosted">state</td>
      <td class="ghosted">approval</td>
      <td class="ghosted">site_itemid</td>
      <td class="ghosted">checked_out</td>
      <td class="ghosted">checked_out_time</td>
      <td class="">title</td>
      <td class="ghosted">alias</td>
      <td class="ghosted">access</td>
      <td class="ghosted">language</td>
      <td class="ghosted">hits</td>
      <td class="ghosted">created</td>
      <td class="ghosted">created_by</td>
      <td class="ghosted">created_by_alias</td>
      <td class="ghosted">created_by_email</td>
      <td class="ghosted">modified</td>
      <td class="ghosted">modified_by</td>
      <td class="ghosted">username</td>
      <td class="ghosted">catid</td>
      <td class="ghosted">image</td>
      <td class="ghosted">file</td>
      <td class="ghosted">displaytime</td>
      <td class="ghosted">weekdays</td>
      <td class="ghosted">daystime</td>
      <td class="ghosted">startdate</td>
      <td class="ghosted">enddate</td>
      <td class="ghosted">period</td>
      <td class="ghosted">dates</td>
      <td class="ghosted">next</td>
      <td class="ghosted">time</td>
      <td class="ghosted">place</td>
      <td class="ghosted">website</td>
      <td class="ghosted">email</td>
      <td class="ghosted">phone</td>
      <td class="ghosted">name</td>
      <td class="ghosted">city</td>
      <td class="ghosted">country</td>
      <td class="ghosted">address</td>
      <td class="ghosted">coordinate</td>
      <td class="ghosted">lat</td>
      <td class="ghosted">lng</td>
      <td class="ghosted">shortdesc</td>
      <td class="ghosted">desc</td>
      <td class="ghosted">metadesc</td>
      <td class="ghosted">params</td>
      </tr></tdead>
      <tbody>
      <tr><td class="db_value ghosted is_id"><div class="cell_content">13686</div></td><td class="db_value ghosted"><div class="cell_content">12273</div></td><td class="db_value ghosted"><div class="cell_content">10745</div></td><td class="db_value ghosted"><div class="cell_content">1</div></td><td class="db_value ghosted"><div class="cell_content">0</div></td><td class="db_value ghosted"><div class="cell_content">0</div></td><td class="db_value ghosted"><div class="cell_content">0</div></td><td class="db_value ghosted"><div class="cell_content">0000-00-00&nbsp;00:00:00</div></td><td class="db_value has_search"><div class="cell_content"><span class="search_string">How&nbsp;can&nbsp;Blockchain &nbsp;Change&nbsp;the&nbsp;Future?</span><span class="replace_string"></span></div></td><td class="db_value ghosted"><div class="cell_content">how-can-blockchain-change-the-future</div></td><td class="db_value ghosted"><div class="cell_content">1</div></td><td class="db_value ghosted"><div class="cell_content">*</div></td><td class="db_value ghosted"><div class="cell_content">742</div></td><td class="db_value ghosted"><div class="cell_content">2019-05-28&nbsp;10:54:08</div></td><td class="db_value ghosted"><div class="cell_content">813</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">2019-05-28&nbsp;10:54:08</div></td><td class="db_value ghosted"><div class="cell_content">813</div></td><td class="db_value ghosted"><div class="cell_content">hajarEUE2017</div></td><td class="db_value ghosted"><div class="cell_content">4</div></td><td class="db_value ghosted"><div class="cell_content">images/LOGOS/BRITISH_CHAMBER.jpg</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">1</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">2019-09-09&nbsp;12:30:00</div></td><td class="db_value ghosted"><div class="cell_content">2019-09-09&nbsp;14:00:00</div></td><td class="db_value ghosted"><div class="cell_content">a:1:{i:0;s:16:"2019-09-09&nbsp;12:30";}</div></td><td class="db_value ghosted"><div class="cell_content">a:1:{i:0;s:16:"0000-00-00&nbsp;00:00";}</div></td><td class="db_value ghosted"><div class="cell_content">2019-09-09&nbsp;12:30:00</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">British&nbsp;Chamber&nbsp;of& nbsp;Commerce&nbsp;in&nbsp;Belgium</div></td><td class="db_value ghosted"><div class="cell_content">https://www.britishchamber.be/event/how-can-blockchain-change-future</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content"> Boulevard&nbsp;Bischoffsheim&nbsp;11,&nbsp;1000,&n bsp;Brussels,&nbsp;Belgium</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">0.0000000000000000</div></td><td class="db_value ghosted"><div class="cell_content">0.0000000000000000</div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">&lt;p&nbsp;style="text-align:&nbsp;justify;"&gt;&lt;span&nbsp;style="font-size: 10pt;"&gt;We&nbsp;are&nbsp;pleased&nbsp;to&nbsp;we lcome&amp;nbsp;Mr.&nbsp;Pēteris Zilgalvis,&nbsp;Head&nbsp;of&nbsp;Unit,&nbsp;Digit al&nbsp;Innovation&nbsp;and&nbsp;Blockchain, Digital&nbsp;Single&nbsp;Market,&nbsp;DG&nbsp;CONN ECT<span class="toggle-trimmed" id="trimmed-5d73aa51cfdcf-toggle"></span><span class="trimmed" id="trimmed-5d73aa51cfdcf">, and&amp;nbsp;Mrs&nbsp;Susi&nbsp;Förschler,&nbsp;As sociate&nbsp;at&nbsp;DFW&nbsp;Germany, who&nbsp;will&nbsp;take&nbsp;us&nbsp;through&nbsp; the&nbsp;current&nbsp;developments and&nbsp;what&nbsp;the&nbsp;future&nbsp;holds&nbsp ;for&nbsp;blockchain&nbsp;in&nbsp;the European&nbsp;Single&nbsp;Market.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;<br>
      &lt;p&nbsp;style="text-align:&nbsp;justify;"&gt;&lt;span&nbsp;style="font-size: 10pt;"&gt;This&nbsp;event&nbsp;is&nbsp;exclusively &nbsp;open&nbsp;for&amp;nbsp;&lt;strong&gt;memb ers &lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;<br>
      &lt;p&nbsp;style="text-align:&nbsp;justify;"&gt;&lt;span&nbsp;style="font-size: 10pt;"&gt;All&nbsp;publically&nbsp;available&nbsp; information&nbsp;&lt;a&nbsp;href="https://www.britishchamber.be/event/how-can-blockchain-change-future"&gt;HERE&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;<br>
      &lt;p&nbsp;style="text-align:&nbsp;justify;"&gt;&lt;a&nbsp;href="https://www.britishchamber.be/event/inscription/1668313000012430003"&gt;&lt;span style="font-size:&nbsp;10pt;"&gt;REGISTRATION&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;<br>
      &lt;p&nbsp;style="text-align:&nbsp;justify;"&gt;&lt;/p&gt;<br>
      &lt;p&nbsp;style="text-align:&nbsp;justify;"&gt;&lt;span&nbsp;style="font-size: 10pt;"&gt;#EUevents&lt;/span&gt;&lt;/p&gt;</span></div></td><td class="db_value ghosted"><div class="cell_content"><span class="null">&nbsp;</span></div></td><td class="db_value ghosted"><div class="cell_content">{"statutReg":"","accessReg":" ","typeReg":"1","reg_deadline":"","maxReg":"", "max RlistGlobal":"","maxRlist":"","RegButtonText":""," RegButtonLink":"","RegButtonLink_Article":"","RegB uttonLink_Url":"","Re<span class="toggle-trimmed hide-trimmed" id="trimmed-5d73aa51cfeda-toggle"></span><span class="trimmed" id="trimmed-5d73aa51cfeda" style="display: inline;">gButtonTarget":"0","atevent":"","first_pu blished_and_approved":1}</span></div></td></tr>
      </tbody>
      </table>
      Dernière édition par woluweb à 07/09/2019, 15h08
      Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

      Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

      Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

      Commentaire


      • #4
        Bonjour Marc

        Si ce n'est qu'une et une seule table, alors un simple INSERT INTO en SQL ferait le job.

        Tu aurais un fichier en Excel avec autant de colonnes qu'il faut importer et une dernière colonne qui contiendrait une formule telle que ="insert into" où tu auras une concaténation des champs.

        Du coup tu as tes instructions sql qu'il suffirait de copier coller dans un écran phpmyadmin (faut donc que l'utilisateur ait accès).

        Cela te semble jouable ?
        woluweb aime ceci.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Bonne idée Christophe ;-)
          Faut juste gérer l'ID incremental.
          Tu penses qu'on pourrait aussi mettre le fichier sql par ftp dans le dossier où joomla met ses updates sql ?
          Pcq alors c'est encore plus simple pour un utilisateur lambda que de passer par phpmyadmin...
          Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

          Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Pour l'ID, il suffit de laisser le champ vide : l'insertion de la ligne créera cet ID automatiquement.
            woluweb aime ceci.
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #7
              Bonsoir

              Oui, l'auto-increment est un nombre qui est géré tout seul pour le système. On l'ignore complètement dans l'instruction SQL.

              Pour ta question "mettre le fichier sql par ftp dans le dossier où joomla met ses updates sql ?" je n'en ai pas la moindre idée; je ne sais pas trop comment Joomla gère cela mais oui, c'est une bonne piste puisque les sites d'exemple de Joomla se font en effet ainsi.

              Si tu as besoin d'un coup de main en Excel, contacte-moi.

              Bonne soirée.
              woluweb aime ceci.
              Christophe (cavo789)
              Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
              Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

              Commentaire


              • #8
                Le modèle icagenda est très simple.

                Avec des ordres INSERT tu devrais t'en sortir très facilement.

                Manu
                woluweb aime ceci.

                Commentaire


                • #9
                  Envoyé par elecoest Voir le message
                  Avec des ordres INSERT tu devrais t'en sortir très facilement.
                  Bonjour,

                  Cela me semble compliqué pour un utilisateur lambda de faire le traitement sous excel puis d'exporter en sql pour l'inserer dans un repertoire du site ou alors je n'ai pas tout compris.

                  Pour répondre à la question initiale, en importation de CSV, on n'a pas le droit à l'erreur car on risque d'endommager la table des evenements.
                  tout dépend des délimitations, du format du fichier pour les accents (UTF-8 ?)
                  On peut très bien se retrouver avec des décalages ou un mauvais format de date, etc.

                  Il est possible de développer un bouton d'import en backend ou front sans toucher au code du composant icagenda mais ce n'est pas gratuit.
                  Tu peux toujours faire une demande sur le forum : https://forum.joomla.fr/forum/ressou...nde-de-service ou sur un site spécialisé.

                  Bien que prévu pour d'autres composants, CSVImproved de RolandD (aujourd'hui RO CSVI) permet de définir un template personnalisé import/export avec toutes les vérifications nécessaires.
                  Il est capable d'importer un fichier CSV quotidiennement (via un cron job) mais le coût du composant le destine à une opération régulière. Cela peut également servir de comparaison à un développement spécifique.



                  Si c'est occasionnel, je préconise phpmyadmin, capable également d'importer du csv en tenant compte bien évidemment des erreurs possibles donc agir avec prudence (sauvegarde, vérification...). Ne pas oublier également d'importer également les catégories d’événements définis dans une autre table.






                  Dernière édition par daneel à 09/09/2019, 12h28
                  woluweb aime ceci.
                  Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                  Commentaire


                  • #10
                    Merci à tous pour les suggestions.

                    daneel figure-toi que j'avais justement pris contact avec Roland Dalmulder. il m'a confirmé que RO CSVI n'intègre pas iCagenda (mais bien d'autres composants)... mais qu'on peut évidemment faire du sur mesure.

                    Bref, pour mon petit cas, j'ai testé la piste du fichier Excel :
                    La personne saisit ses données sur l'onglet 1.
                    Sur l'onglet 2, je manipule les données, par exemple pour ajouter les ' ' autour des valeurs qui l'exigent etc, pour faire un regex pour créer un alias etc
                    En fin de chaque ligne, j'ajoute une formule qui concatène l'ensemble des champs pour un item (événement) :
                    Code:
                    ="("&JOINDRE.TEXTE(", ";FAUX;'output table'!A2:AU2)&")"
                    Puis, je n'ai plus qu'à concaténer
                    1. le INSERT INTO (...) avec
                    2. avec la concaténation de tous les items
                    Code:
                    =SUBSTITUE(B1&" "&JOINDRE.TEXTE(",";VRAI;C:C)&";";CAR(160);CAR(32))
                    Avec une grosse subtilité : Excel utilise un autre "espace" que l'espace dont on a besoin dans PHPMyAdmin, donc je substitue car(160) par car(32)

                    Bref, au final l'utilisateur
                    a. saisit ses données dans Excel
                    b. copie une cellule finale
                    c. clique sur le lien PHPMyAdmin qui le mène directement dans sa bdd, où il clique sur l'onglet SQL, colle le query et clique sur Execute

                    Voilà pour le process.

                    PS : j'avais tenté de mettre le query dans un fichier .sql à uploader dans /www/administrator/components/com_admin/sql/updates/mysql
                    En effet, alors la "mise à jour" apparaît dans /administrator/index.php?option=com_installer&view=database
                    ... mais quand je clique sur le bouton "Fix" dans Joomla, rien ne change dans mes tables
                    Est-ce qu'il y a une subtilité pour faire marcher cela ? Cela éviterait de passer par PHPMyAdmin
                    cavo789 aime ceci.
                    Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

                    Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

                    Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

                    Commentaire


                    • #11
                      Et pourquoi pas un script d'import sql via une tache cron toutes les heures ?
                      comme ca, tu as juste a exporter ton fichier directement au format csv au lieu de passer par le format excel....

                      note: un export csv ne concernes que la premiere feuille. On ne peut exporter de fichiers avec plusieures.
                      et a le placer au bon endroit avec filezilla.

                      Grace a la tache cron, tu est sur de l'import des modifs...

                      Automatiser au max, ca permet de gagner du temps et faire autre chose.
                      Dernière édition par lefabdu51 à 13/09/2019, 07h47
                      woluweb aime ceci.

                      Commentaire


                      • #12
                        Merci lefabdu51 , bonne idée la tâche cron sur la requête SQL
                        Mais j'ai jamais fait ça par contre.
                        Tu aurais un exemple de fichier sql ? Peut-on lancer le fichier sql directement depuis la tâche cron ou faut-il p ex un fichier PHP qui va appeler le sql ?

                        Note : il y a peut-être moyen de faire fonctionner ma piste de mettre le sql /www/administrator/components/com_admin/sql/updates/mysql et puis dans Joomla de cliquer sur "fix database".

                        J'avais changé le nom de ma table de

                        Code:
                        INSERT INTO `srhoq_icagenda_events` (`id`, `asset_id`, `ordering`, `state`, `approval`, `site_itemid`, `checked_out`, `checked_out_time`, `title`, `alias`, `access`, `language`, `hits`, `created`, `created_by`, `created_by_alias`, `created_by_email`, `modified`, `modified_by`, `username`, `catid`, `image`, `file`, `displaytime`, `weekdays`, `daystime`, `startdate`, `enddate`, `period`, `dates`, `next`, `time`, `place`, `website`, `email`, `phone`, `name`, `city`, `country`, `address`, `coordinate`, `lat`, `lng`, `shortdesc`, `desc`, `metadesc`, `params`) VALUES ('', 0, 0, 1, 1, 613, 0, '0000-00-00 00:00:00', 'Test Marc 1', 'testmarc1', 1, '*', 1, '2019-09-11 13:04:48', 0, '', 'marc@woluweb.be', '0000-00-00 00:00:00', 0, 'Test Events', 1, 'images/icagenda/frontend/images/cloudy-field-280x244-2.jpg', '', 1, '', '', '2019-11-30 20:00:00', '2019-11-30 21:00:00', 'a:1:{i:0;s:16:\"2019-11-30 20:00\";}', 'a:1:{i:0;s:16:\"0000-00-00 00:00\";}', '2019-11-30 20:00:00', '', 'The place to be', 'https://www.google.com', 'test@test.com', '32475123456', '', '', '', '', '', 0.0000000000000000, 0.0000000000000000, '', '<p>Text</p>', '', ''),('', 0, 0, 1, 1, 613, 0, '0000-00-00 00:00:00', 'Test Marc 2', 'testmarc2', 1, '*', 1, '2019-09-11 13:04:48', 0, '', 'marc@woluweb.be', '0000-00-00 00:00:00', 0, 'Test Events', 1, 'images/icagenda/frontend/images/cloudy-field-280x244-2.jpg', '', 1, '', '', '2019-12-30 22:00:00', '2019-12-30 23:00:00', 'a:1:{i:0;s:16:\"2019-12-30 22:00\";}', 'a:1:{i:0;s:16:\"0000-00-00 00:00\";}', '2019-12-30 22:00:00', '', 'The place to be', 'https://www.google.com', 'test@test.com', '32475123456', '', '', '', '', '', 0.0000000000000000, 0.0000000000000000, '', '<p>Text</p>', '', '');
                        en
                        Code:
                        INSERT INTO `#__icagenda_events`
                        Cliquer sur "fix database' donne le message vert de confirmation... mais je ne vois pas de changement effectif.

                        Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

                        Un message d’erreur sur votre site Joomla... ayez le reflexe de consulter la base de connaissance : https://kb.joomla.fr

                        Ce forum, vous l'aimez ? Il vous a sauvé la vie ? Vous y apprenez régulièrement ? Alors adhérer à l'AFUJ, l'Association Francophone des Utilisateurs de Joomla : https://www.joomla.fr/association/adherer

                        Commentaire


                        • #13
                          Salut,

                          autre solution : tu as une documentation de joomla.org sur le développement d'un composant avec import CSV ou xlsx

                          models / helloimport.php
                          Code PHP:

                          $colnames    
                          = array("id""asset_id""ordering"); // nom des colonnes, liste à compléter...
                          $table    $db->quoteName('#__icagenda_events'); // nom de la table 




                          woluweb aime ceci.
                          Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                          Commentaire


                          • #14
                            Envoyé par woluweb Voir le message
                            ...il y a peut-être moyen de faire fonctionner ma piste de mettre le sql /www/administrator/components/com_admin/sql/updates/mysql et puis dans Joomla de cliquer sur "fix database".

                            J'avais changé le nom de ma table de

                            ...

                            Cliquer sur "fix database' donne le message vert de confirmation... mais je ne vois pas de changement effectif.
                            Cela ne peux pas marcher ainsi, il faut qu'il y ait une incohérence entre la version du fichier sql de update/sql et le numéro de version de l'extension figurant dans la table #__schemas.
                            En général id dans la table extension = 700 (extension_id dans #__schemas et dans #__extensions pour "files_joomla") pour identifier le framework de Joomla et donc la version de ses tables.

                            Actuellement si ton site est à jour on trouve 3.9.10-2019-07-09 dans la rubrique version_id dans la table #__schemas pour extension_id = 700 et 3.9.10-2019-07-09.sql est bien le dernier sql dans le dossier ../update/sql/mysql de l'admin.
                            Joomla ne trouvera donc pas d’incohérence dans la structure de la base pour le core.

                            De plus c'est risqué de jouer ainsi avec le core.

                            Si tu veux utiliser cette technique, il te faut faire une petite extension à toi et changer à chaque fois le numéro de version dans le fichier xml "manifest" de ton extension tout en créant un nouveau fichier sql "update" pour que l’installateur de Joomla mette le numéro de version de l'extension et le numéro de version des tables associé à cette version de l'extension à jour et exécute éventuellement tous les fichiers sql nécessaires qui seraient présents dans le dossier sql/update/.. dans la partie admin de l'extension.
                            Dernière édition par roland_d_alsace à 13/09/2019, 11h32
                            woluweb aime ceci.
                            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                            Rejoignez le Joomla Users Groupe Alsace...
                            roland_d_alsace va-t-il devenir roland_du_grand_est ?

                            Commentaire


                            • #15
                              salut, une idée
                              pourquoi ne pas créer un dossier avec un manifest et utiliser le com_installer (onglet extension > installation) pour installer le fichier sql ?
                              tu crées un dossier contenant les éléments d'installation dont le fichier sql à uploader.
                              tu crées le zip avec le contenu.
                              Et tu passe par l'installeur d extensions.....
                              C'est un moyen simple d'importer du sql.
                              Vu que ce n'est qu un import sql tu ne laisse aucune trace dans Joomla, donc tu n as rien a changer dans tes dossiers, sauf le contenu du fichier sql.
                              woluweb aime ceci.

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X