premiers pas et déjà perdu...

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

  • [RÉGLÉ] premiers pas et déjà perdu...

    Bonjour à tous.
    débutant la programmation dans joomla depuis quelques jours (et le développement depuis à peine guère plus longtemps ), je vous sollicite pour un petit problème de compréhension.

    Je travaille actuellement sur l'exemple de création de composant du site cocoate (http://cocoate.com/fr/node/1870/conc...e-complet-auto).

    Or, entre les explications données à propos du code php et les code effectivement réalisé dans le .zip joint il y a quelques différences. Quelqu'un pourrait-il prendre le temps de "me prendre par la main" ("... pour m'emmener vers demain ♫♫♫... " désolé ) et m'expliquer la partie en sus, reproduite ci après ?

    if ( ! JRequest::getCmd( 'view' ) )
    {
    JRequest::setVar('view', 'categories' );
    }
    parent::display();

    je précise que je débute complètement dans ce métier
    Dés lors, si par hasard il vous été possible de m'indiquer un tuto vraiment pédagogique concernant le développement (je n'ose imaginer que cette question ait pu être posé auparavant )

    Quooi qu'il en soit, merci d'avance.

    Der-D-der
    Dernière édition par Der-D-der à 16/07/2012, 16h01

  • #2
    Re : premiers pas et déjà perdu...

    Bonjour,

    Ce tuto date de 2008 et ne concerne que Joomla! 1.5.

    Pour des tutos plus récents (Joomla! 2.5), http://docs.joomla.org/Developing_a_...for_Joomla!1.6 reste la référence, et il est extrêmement détaillé et pédagogique.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : premiers pas et déjà perdu...

      Bonjour,

      Alors là je te comprends, je ma lance ces jours dans la programmation d' extensions... J'ai lu le ebook: Le Guide Pour Débutant - Développement Joomla! . Sinon, j'ai aussi beaucoup de mal avec l'api de Joomla avec ces multiples class et fonctions.

      Envoyé par jisse03 Voir le message
      Pour des tutos plus récents (Joomla! 2.5), http://docs.joomla.org/Developing_a_...for_Joomla!1.6 reste la référence, et il est extrêmement détaillé et pédagogique.
      Merci pour le lien, mais mon plus gros problème est l'anglais, je n'ai jamais suivi 1 seul heure de cour d'anglais... C'est le comble, cette documentation à été faite par Christophe Demko qui, je crois est français...
      Un peu de pub: http://www.aplomb.ch

      Commentaire


      • #4
        Re : premiers pas et déjà perdu...

        Envoyé par jisse03 Voir le message
        Ce tuto date de 2008 et ne concerne que Joomla! 1.5.
        /* Tiens, je pensais avoir posté une réponse hier soir... */

        Désolé j'ai oublié de préciser que je travaillais sur la version 1.5 sur mon lieu de stage.

        Der-D-der

        Commentaire


        • #5
          Re : premiers pas et déjà perdu...

          Envoyé par al1pb Voir le message
          Alors là je te comprends, je ma lance ces jours dans la programmation d' extensions... J'ai lu le ebook: Le Guide Pour Débutant - Développement Joomla! . Sinon, j'ai aussi beaucoup de mal avec l'api de Joomla avec ces multiples class et fonctions.
          Qu'est-ce que ça serait avec Zend Framework alors

          Envoyé par al1pb Voir le message
          Merci pour le lien, mais mon plus gros problème est l'anglais, je n'ai jamais suivi 1 seul heure de cour d'anglais... C'est le comble, cette documentation à été faite par Christophe Demko qui, je crois est français...
          Christophe est bien français, mais il a écrit le tuto pour usage mondial, donc dans la langue internationale
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : premiers pas et déjà perdu...

            Code PHP:
            // Vérifier si on a une commande 'view' dans la requête
            if ( ! JRequest::getCmd'view' ) ) 
            {
                
            // Non, donc on choisit la vue catégories par défaut
                
            JRequest::setVar('view''categories' );
            }
            // et on appelle la méthode display de la classe parente
            parent::display(); 
            Voilà pour une explication rapide du code.
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : premiers pas et déjà perdu...

              Envoyé par jisse03 Voir le message
              Qu'est-ce que ça serait avec Zend Framework alors
              Ne m'embrouille pas plus avec des truc encore plus prise de tête, c'est déjà assez compliqué comme ça. Autant y aller tranquillement en comprenant ce que l'on fait...


              Envoyé par jisse03 Voir le message
              Christophe est bien français, mais il a écrit le tuto pour usage mondial, donc dans la langue internationale
              Je trouve que c'est une bonne chose et fait profiter plus de monde ainsi avec son tuto... Mais bon, il n'a pas un brouillon qui traine dans un coin en français...
              Alors, je vais utiliser google pour le traduire.

              Bon, j'arrête de pleurer, je viens de trouver la version papier de se tuto, et en français. Je vais l'acheter: Maîtriser Joomla! - Guide professionnel du développement d'applications
              Dernière édition par al1pb à 17/07/2012, 09h02 Raison: Ajout de la ref du livre
              Un peu de pub: http://www.aplomb.ch

              Commentaire


              • #8
                Re : premiers pas et déjà perdu...

                Envoyé par al1pb Voir le message
                Alors là je te comprends, je ma lance ces jours dans la programmation d' extensions... J'ai lu le ebook: Le Guide Pour Débutant - Développement Joomla!
                Merci pour la documentation, je vais m'y plonger et tacher d'approfondir tout ça



                Envoyé par jisse03 Voir le message
                Voilà pour une explication rapide du code.
                Ok, merci. je vois un peu mieux l'utilité de cette partie.

                Commentaire


                • #9
                  Re : premiers pas et déjà perdu...

                  Bonjour à tous.

                  Suite à une demande de mon maître de stage, je cherche à intégrer un peu de jQuery afin qu'un click sur une photo miniature fasse apparaître la taille réelle au moyen d'une shadowbox.

                  Soucis, bien que j'arrive à faire prendre en compte le script, c le résultat n'est pas au rendez-vous et j'obtient le message d'erreur suivant :
                  " Uncaught ReferenceError : jQuery is not defined "

                  Malgré plusieurs tentative, je n'ai pas réussi à m'en sortir. Qu'ais-je oublié ?

                  Au cas où, voici le jQuery que j'ai fait :

                  template :
                  Code PHP:
                  <?php

                  defined
                  ('_JEXEC') or die('Restricted access');

                  $document = &jFactory::getDocument ();
                  ?>

                  <h1><?php echo "Les voitures disponibles"?></h1>
                  <ul>
                  <?php
                  // lecture des enregistrements vers un array
                  foreach ($this->rows as $row)
                    {
                      
                  ?>
                      <li><?php echo $row->texte?> <small><em>(<?php echo $row->constructeur?>)</em></small><br>


                  <?php $document->addScript ('components/com_auto/assets/script/shadowbx.js');
                        
                  $document->addScriptDeclaration ("alert ('hello Joomla!");

                  ?>
                        
                      <?php
                    
                  }
                  ?>
                  </ul>
                  et script :
                  Code PHP:
                  jQuery.noConflict ();
                              
                                  
                  /* normalement,l'usage de l'instruction 'noConflict' interdit 
                                   * par la suite d'utiliser '$' comme raccourci pour jQuery en 
                                   * tant que nom de fonction.
                                   * La fonction sur la ligne suivante vient rémédier à cette
                                   * interdiction */
                                
                  (function ($)
                                  {
                                      $(
                  document).ready(function()
                                        {
                                          $(
                  ".shadowbox").click(function ()
                                            {
                                              
                  // dimension de la page
                                              
                  var xHeigth = $(document).heigth();
                                              var 
                  xWidth = $(window).width ();
                                              
                                              
                  // dimensionnement du masque recouvrant la page
                                              
                  $("#page").css({"width":xWidth"heigth":xHeigth});
                                              
                                              
                  // apparition du masque, transparence et centrage
                                              
                  $("#page").fadeIn();
                                              
                                              $(
                  "#page").fadeTo ("fast"0.6);
                                              var 
                  xH = $(window).heigth();
                                              var 
                  xW = $(widow).width();
                                              
                                              $(
                  "#dialog").css("top"xH/2-$("#dialog").heigth()/2);
                                              $(
                  "#dialog").css("top"xW/2-$("#dialog").width()/2);
                                              
                                              
                  // apparition de la shadowbox
                                              
                  $("#dialog").fadeIn();
                                            });
                                          
                                          
                  // fermeture de la shadow box via bouton interne
                                          
                  $(".windiw .close").click(function ()
                                                                          {
                                                                              $(
                  "#page").hide();
                                                                              $(
                  ".window").hide();
                                                                          });
                                          
                                        });
                                  }); 
                  en espérant que la sujet n'a pas déjà été abordé... Merci d'avance de vos réponses. Bonne soirée

                  Der-D-der
                  Dernière édition par jisse03 à 18/07/2012, 18h38 Raison: Reformaté le code pour le rendre lisible

                  Commentaire


                  • #10
                    Re : premiers pas et déjà perdu...

                    Problème, tu ne charges nulle part jquery lui même...

                    Soit tu le charges manuellement depuis ton développement, soit tu peux utiliser ce type de plugin http://www.joomlabamboo.com/joomla-e...-jquery-plugin
                    Pas de demande de support par MP.
                    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                    Commentaire


                    • #11
                      Re : premiers pas et déjà perdu...

                      oups c'est vrai , j'ai modifié (dans le tmpl) avec :

                      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>;

                      J'en ai profité pour corriger certains "oublis orthographiques" (genre les "height" mal écrits...), enlever la "function ($)" et remis les jQUery en lieu et place des "$". J'obtiens cependant toujours la même erreur.

                      je sors la corde du placard...
                      Dernière édition par Der-D-der à 19/07/2012, 13h50

                      Commentaire


                      • #12
                        Re : premiers pas et déjà perdu...

                        Utilises Firebug sous Firefox, ou l'inspecteur d'éléments de Chrome et inspectes ça pour voir si tu n'as pas un conflit ou une erreur de chargement quelque part.
                        Pas de demande de support par MP.
                        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                        Commentaire


                        • #13
                          Re : premiers pas et déjà perdu...

                          Envoyé par jisse03 Voir le message
                          Utilises Firebug sous Firefox, ou l'inspecteur d'éléments de Chrome et inspectes ça pour voir si tu n'as pas un conflit ou une erreur de chargement quelque part.
                          en effet j'utilise l'inspecteur de Chrome, j'ai quelque peu avancé depuis. Au passage, merci pour tes conseils, ils m'ont bien aidé

                          A l'heure actuelle, j'ai pu débugger pas mal mon composant. je bute par contre sur l'affichage de la shadowbox. Elle est bien prise en compte mais n’apparaît pas lors du click sur la miniature. En utilisant l'inspecteur, je vois que le CSS apparaît vide.
                          D'autre part, la photo taille réelle ne s'affiche pas (mais je devrais pouvoir solutionner cet aspect là).

                          voici le code css :
                          Code:
                              /* style du masque (l'ombre qui obscurci la page) */
                          #page
                          {
                              position:absolute;
                              left:0; top:0;
                              z-index:9000, background-color:#000;
                              display:none;
                          }
                              /* positionnement et dimensions de la box */
                          #boxes .window {position:absolute; left:0; top:0; width:440px; height:200px; display:none; z-index:9999; padding:20px;}
                          #boxes #dialog {width:375px; height:203px; padding:10px; color:#00008b; border:3px solid #fff; background-color:#C0C0C0;}
                          et au cas où la page de script :
                          Code:
                          jQuery.noConflict ();
                                      
                                          /* normalement,l'usage de l'instruction 'noConflict' interdit 
                                           * par la suite d'utiliser 'jQuery' comme raccourci pour jQuery en 
                                           * tant que nom de fonction.
                                           * La fonction sur la ligne suivante vient rémédier à cette
                                           * interdiction */
                                        jQuery(document).ready(function()
                                                {
                                                  jQuery(".shadowbox").click(function ()
                                                    {
                                                      // dimension de la page
                                                      var xHeight = jQuery(document).height();
                                                      var xWidth = jQuery(window).width ();
                                                      
                                                      // dimensionnement du masque recouvrant la page
                                                      jQuery("#page").css({"width":xWidth, "height":xHeight});
                                                      
                                                      // apparition du masque, transparence et centrage
                                                      jQuery("#page").fadeIn();
                                                      
                                                      jQuery("#page").fadeTo ("fast", 0.6);
                                                      var xH = jQuery(window).height();
                                                      var xW = jQuery(window).width();
                                                      
                                                      jQuery("#dialog").css("top", xH/2-jQuery("#dialog").height()/2);
                                                      jQuery("#dialog").css("top", xW/2-jQuery("#dialog").width()/2);
                                                      
                                                      // apparition de la shadowbox
                                                      jQuery("#dialog").fadeIn();
                                                          alert ("c'est cool ?");
                                                    });
                                                  
                                                  // fermeture de la shadow box via bouton interne
                                                  jQuery(".window .close").click(function ()
                                                                                  {
                                                                                      jQuery("#page").hide();
                                                                                      jQuery(".window").hide();
                                                                                  });
                                                  
                                                });
                          et enfin le tmpl :
                          Code PHP:
                          <link rel="stylesheet" type="text/css" href="feuillestyle.css">

                          <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>;

                          <script type="text/javascript">
                          Shadowbox.init();
                          </script>

                          <?php

                          defined
                          ('_JEXEC') or die('Restricted access');

                          $document = &jFactory::getDocument ();
                          $document->addScript ('components/com_auto/assets/script/shadowbx.js');
                          $document->addStylesheet ('components/com_auto/assets/script/feuillestyle.css');
                          $document->addCustomTag'<script type="text/javascript">jQuery.noConflict();</script>' );

                          ?>

                          <h1><?php echo "Les voitures disponibles"?></h1>
                          <ul>
                          <?php
                          // lecture des enregistrements vers un array
                          foreach ($this->rows as $row)
                            {
                              
                          ?>
                              <li><?php echo $row->texte?> <small><em>(<?php echo $row->constructeur?>)
                                                                 </em></small><br>
                                  
                                   <img src=<?php echo $row->miniature?> class="shadowbox" />
                                   <div id="page"><img src="<?php echo $row->standard?> />" </div>
                                  </li>


                          <?php
                            
                          }
                          ?>
                          </ul>
                          Qu'en pensez vous ?

                          Et encore un grand merci pour votre aide et vos conseils

                          Der-D-der
                          Dernière édition par Der-D-der à 20/07/2012, 08h59

                          Commentaire


                          • #14
                            Re : premiers pas et déjà perdu...

                            Bonjour,

                            Il te faut regarder la doc de shadowbox. Il me semble que le script se déclenche avec une balise <a> de cette manière:
                            Code HTML:
                            <a rel="shadowbox" href="grande image ou autre page avec effet">
                               <img src="vignette"/>
                            </a>
                            Bon courage
                            Un peu de pub: http://www.aplomb.ch

                            Commentaire


                            • #15
                              Re : premiers pas et déjà perdu...

                              Bien, à force de tâtonnements, d'aide diverses et de conseils avisés (merci encore pour vos réponses et liens ), j'ai réussi à résoudre mes difficultés et pondre une shadowbox quasi-finie (je devrais pouvoir me débrouiller pour faire les derniers ajustements).

                              Je me permets donc de l'inscrire comme "résolu".

                              Je vous dis donc à bientôt et vous souhaite un excellent week-end

                              Der-D-der

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X