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)
    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


    • #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 :


          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, 10h02

              Commentaire


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



                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
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X