récupérer des données de la base de données pour personnaliser composant

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

  • récupérer des données de la base de données pour personnaliser composant

    Bonjour à tous,


    J'essaie de personnaliser un composant pour y ajouter une liste déroulante qui va récuperer les catégories créées et qui figure dans ma base de données.

    Je voulais savoir si je dois modifier ou ajouter une fonction dans le dossier models du composant ou je peux modifier et accéder directement à ma base de données dans la page default du dossier view de mon composant.


    je suis un peu bornée et je veux y arriver. Pour cela, il faut que je comprenne.

    je pense sinon que je dois faire
    function recup()
    {
    $bdd=&JFactory::getDBO();
    $query='SELECT id FROM #__icagenda_category';
    $bdd->setQuery( $query );
    }

    et là je vais récuperer les id des category

    Quand dites-vous ?

    Merci de votre aide pour une débutante.

    Magali

  • #2
    Re : récupérer des données de la base de données pour personnaliser composant

    Salut

    J'en dis que ton query est OK et que ..., voilà, c'est tout.

    Qu'as-tu écrit ? Une instruction SQL pour récupérer des données et tu as dis à la base de données (getDBO) que tu ... t'apprêtais à exécuter ce query. Très bien ! Reste qu'il faut maintenant l'exécuter :-)

    Et cela se fait avec un
    Code PHP:
    $result $bdd->loadObjectList(); 
    puis, p.ex.
    Code PHP:
    var_dump($result); 
    Christophe (cavo789)
    Développeur d'aeSecure; protection, optimisation et nettoyage (après hack) de sites web Apache https://www.aesecure.com/fr
    Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes
    Mes logiciels OpenSource : https://www.avonture.be

    Commentaire


    • #3
      Re : récupérer des données de la base de données pour personnaliser composant

      Ce sélecteur s'affichera sur le front ou dans l'admin ?
      Christophe
      http://www.webcrea.fr

      Commentaire


      • #4
        Re : récupérer des données de la base de données pour personnaliser composant

        Envoyé par webcrea Voir le message
        Ce sélecteur s'affichera sur le front ou dans l'admin ?

        Bonjour,

        Le sélecteur s'affichera sur le front.

        j'ai 2 solutions :
        - soit une liste déroulante avec les différentes catégories d'évènements
        - soit des boutons

        Je vais continuer à chercher et si j'ai encore des soucis ce qui ne m’étonnerait pas, je poste un message.

        Merci

        Commentaire


        • #5
          Re : récupérer des données de la base de données pour personnaliser composant

          salut
          tu as pas mal de documentation et d'exemples sur le wiki si ça peut t'aider :
          http://docs.joomla.org/Accessing_the...sing_JDatabase

          CEd
          Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
          http://www.template-creator.com Outil de création de templates
          Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

          Commentaire


          • #6
            Re : récupérer des données de la base de données pour personnaliser composant

            le plus simple serait de surcharger com_conent/views/categories/tmpl/default.php
            Christophe
            http://www.webcrea.fr

            Commentaire


            • #7
              Re : récupérer des données de la base de données pour personnaliser composant

              Envoyé par webcrea Voir le message
              le plus simple serait de surcharger com_conent/views/categories/tmpl/default.php
              Je souhaite intégrer la recherche par sélection sur le composant icagenda.

              Ah ok très bien, je dois modifier uniquement le default du dossier view alors ?

              Je continue à chercher ..


              Merci

              Cordialement

              Magali
              Dernière édition par magalirc à 14/04/2014, 11h02

              Commentaire


              • #8
                Re : récupérer des données de la base de données pour personnaliser composant

                http://kiwik.net/joomla/25/trucs-ast...charges-joomla

                ce tuto t'expliquera ce qu'est une surcharge, à toi de l'appliquer dans ton cas précis sur le module d'icagenda
                Christophe
                http://www.webcrea.fr

                Commentaire


                • #9
                  Re : récupérer des données de la base de données pour personnaliser composant

                  C'est bon, j'ai fait ma surcharge, maintenant je code en php.

                  Merci

                  Commentaire


                  • #10
                    Re : récupérer des données de la base de données pour personnaliser composant

                    Envoyé par magalirc Voir le message
                    C'est bon, j'ai fait ma surcharge, maintenant je code en php.

                    Merci
                    J'ai une question pour accéder à ma base de données, est ce que je peux directement intégrer ma requête dans le dichier défault.php du dossier view que j'ai surchargé ?
                    ou dois-je également surchargé le dossier models de mon composant ?

                    Je m'y perd.

                    Merci

                    Voici le code mis ligne 323 dans le fichier default.php du dossier view :
                    if($stamp->container->header)
                    {
                    echo '<div>';
                    echo $stamp->container->header;

                    $catid_array = array();
                    $catinfos_array = array();

                    if($stampitems AND $display_catDesc)
                    {
                    foreach ($stampitems AS $event)
                    {
                    $cat_id = $event->cat_id;
                    $cat_title = $event->cat_title;
                    $cat_color = $event->cat_color;
                    if ($event->cat_desc)
                    {
                    $cat_desc = $event->cat_desc;
                    }
                    else
                    {
                    $cat_desc = ' ';
                    }
                    $fontColor = $event->fontColor;

                    array_push($catid_array, $cat_id);

                    $array = array($cat_title, $cat_color, $cat_desc, $fontColor);
                    $comma_separated = implode("::", $array);
                    if (!in_array($comma_separated, $catinfos_array))
                    {
                    array_push($catinfos_array, $comma_separated);
                    }
                    }
                    }
                    $cat_result = array_unique($catid_array);

                    for($i = 0; $i < count($catinfos_array); $i++)
                    {
                    $cat_getinfos = explode('::', $catinfos_array[$i]);
                    if (in_array('1', $cat_opts))
                    {
                    echo '<div class="cat_header_title ' . $cat_getinfos['3'] . '" style="background: ' . $cat_getinfos['1'] . ';">' . $cat_getinfos['0'] . '</div>';
                    }
                    if (in_array('2', $cat_opts))
                    {
                    echo '<div class="cat_header_desc">' . $cat_getinfos['2'] . '</div>';
                    }
                    if (in_array('2', $cat_opts)) { echo '<div style="clear:both"></div>'; }
                    }

                    // if (!in_array('2', $cat_opts)) { echo '<div>&nbsp;</div>'; }

                    if ($navposition == '0'
                    OR $navposition == '2')
                    {
                    if (($datesDisplay == '1')
                    AND (file_exists( $tpl_events )))
                    {
                    if ($display_catDesc)
                    {
                    echo '<div style="clear:both"></div><br />';
                    if (($all_dates / $number_per_page) > 1)
                    {
                    echo $iCModeliChelper->pagination($all_dates, $getpage, $arrowtext, $number_per_page, $pagination);
                    }
                    }
                    else
                    {
                    if (($all_dates / $number_per_page) > 1)
                    {
                    echo $iCModeliChelper->pagination($all_dates, $getpage, $arrowtext, $number_per_page, $pagination);
                    }
                    }
                    }
                    else
                    {
                    $ic_nav = $iCModeliChelper->pagination($allevents_total, $getpage, $arrowtext, $number_per_page, $pagination);
                    if ($display_catDesc)
                    {
                    echo '<div style="clear:both"></div><br />';
                    if (($allevents_total / $number_per_page) > 1)
                    {
                    echo $ic_nav;
                    }
                    }
                    else
                    {
                    if (($allevents_total / $number_per_page) > 1)
                    {
                    echo $ic_nav;
                    }
                    }
                    }
                    }
                    elseif ($display_catDesc)
                    {
                    echo '<div style="clear:both">&nbsp;</div>';
                    }
                    echo '</div>';
                    }

                    echo 'bonjour';
                    // c'est ma function pour afficher les données et j'ai une valeur NULL qui s'affiche ou un gros carré noir
                    function donnees{
                    $db =& JFactory::getDBO();
                    $query = 'SELECT * FROM #_icagenda_events';
                    $db->setQuery( $query );
                    $result =& $db->loadObjectList();
                    return $result;
                    }
                    var_dump($result);



                    $mainframe = JFactory::getApplication();
                    $isSef = $mainframe->getCfg( 'sef' );

                    Commentaire


                    • #11
                      Re : récupérer des données de la base de données pour personnaliser composant

                      à ma connaissance on ne peut surcharger que la vue (default.php), donc il vaut mieux tout mettre dedans
                      c'est juste mon avis
                      Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                      http://www.template-creator.com Outil de création de templates
                      Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                      Commentaire

                      Annonce

                      Réduire
                      1 sur 2 < >

                      C'est [Réglé] et on n'en parle plus ?

                      A quoi ça sert ?
                      La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                      Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                      Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                      Comment ajouter la mention [Réglé] à votre discussion ?
                      1 - Aller sur votre discussion et éditer votre premier message :


                      2 - Cliquer sur la liste déroulante Préfixe.

                      3 - Choisir le préfixe [Réglé].


                      4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                      2 sur 2 < >

                      Assistance au forum - Outil de publication d'infos de votre site

                      Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                      Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                      Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                      UTILISER À VOS PROPRES RISQUES :
                      L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                      Problèmes connus :
                      FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                      Installation :

                      1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                      Archive zip : https://github.com/AFUJ/FPA/zipball/master

                      2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                      3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                      4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                      5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                      6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                      et remplacer www. votresite .com par votre nom de domaine


                      Exemples:
                      Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/
                      Pour executer le script: http://www..com/fpa-fr.php

                      Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/cms/
                      Pour executer le script: http://www..com/cms/fpa-fr.php

                      En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                      Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                      Voir plus
                      Voir moins
                      Travaille ...
                      X