We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • ci-joint, une vieille (et un peu laborieuse) scéance de travail filmée,
    ça vaut ce que ça vaut, mais ça donne une idée…

    => http://techzone.kurtzdev.com/Tutorial_ANPAD/12.html
    => http://techzone.kurtzdev.com/Tutorial_ANPAD/13a.html
    => http://techzone.kurtzdev.com/Tutorial_ANPAD/13b.html
    => http://techzone.kurtzdev.com/Tutorial_ANPAD/13c.html


      made with MODx => France Douglas || Vintage Weekender
      • 15001
      • 697 Posts
      heliotrope:
      (...) tu peux utiliser le code suivant pour gerer tes templates dans des fichiers externes. (...)

      Le snippet getFileTemplate d’heliotrope est tellement génial que je cherche l’équivalent pour le contenu des pages du site.
      Ca existe ?

      Ca permettrait d’aller plus vite au niveau développement, quitte à copier-coller ensuite chaque page dans MODx pour que le client puisse effectuer des mises à jour simple avec TinyMCE.
        • 11975
        • 2,542 Posts
        Salut,

        le mieux serait de transformer le code posté en un plugin pour détecter si la chaine @FILE est présente et si oui, charger la contenu.

        :-)
          Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • MERCI heliotrope, c’est super kool !!!

          Le snippet pour gérer les templates avec des fichiers, c’est carrément l’astuce de la semaine.
          Ça va me faire gagner un temps monstrueux,
          tout en m’évitant de faire des bétises (oui, parce que les aller-retour / copier-coller, c’est bien, mais mal réveillé, j’ai déjà écrasé un template à la place d’un autre comme ça, quand ça arrive, on pleure…)


            made with MODx => France Douglas || Vintage Weekender
            • 34001
            • 428 Posts
            Moi je dis bravo aussi... chapeau helio !

            Franchement, ça change la vie... Perso j’avais l’habitude d’éditer les templates directement dans modx, c’est à dire : pas de coloration syntaxique, pas de tabulation, fenêtre trop petite, etc.

            Youpi !  cool

            @_lol_ je suis en train de regarder les vidéos que tu as postées...  wink
              Intégrateur web freelance
              • 11975
              • 2,542 Posts
              Pas de mérite sur le coup ;-)
              Le code vient du forum US.
              Opengeek en a posté une version améliorée pour les snippets.

              :-)
                Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                • 15001
                • 697 Posts
                Perso j’avais l’habitude d’éditer les templates directement dans modx, c’est à dire : pas de coloration syntaxique, pas de tabulation, fenêtre trop petite, etc

                Coloration syntaxique : ça existe sous MODx avec le plugin EditArea.

                De mémoire, il y a aussi CodePress.
                Pour une comparaison entre les deux éditeurs, voir par exemple :
                http://www.virtualroadside.com/blog/index.php/2007/06/08/codepress-vs-editarea/

                Pour ma part, j’ai installé EditArea. Cet éditeur a un bouton qui permet d’afficher l’éditeur sur toute la hauteur de la page. Par ailleurs, en haut de l’arbre des documents, il y a un bouton qui permet de masquer le cadre de gauche. Ainsi, on obtient une taille d’éditeur raisonnable.

                Ceci dit, le snippet posté par heliotrope est le must. En effet, EditArea ralentit le chargement des pages.
                Plus précisément, il lui faut un certain temps pour se charger. Vous commencez à lire votre code et tout à coup la coloration syntaxique entre en scène; ça freine.
                Le comportement est également bizarre lorsque l’on sélectionne un passage dans un texte assez long. Il y a comme un bug d’affichage qui fait qu’on ne sait plus très bien ce qui est sélectionné.
                On reste loin du confort d’un éditeur syntaxique performant et distinct de MODx.

                Par contre, EditArea peut être utile pour rechercher et remplacer des passages dans du code sous MODx.
                Il possède en effet les fonctionnalités de recherche et de remplacement.

                Pour ce qui est des tabulations, leur apparence est conservée lors d’un copier-coller, mais EditArea remplace les tabulations par des espaces.

                @heliotrope :
                le mieux serait de transformer le code posté en un plugin pour détecter si la chaine @FILE est présente et si oui, charger la contenu.
                J’ai déjà créé des snippets mais pas encore de plugin. As-tu une idée si c’est difficile ?
                Par ailleurs, je n’ai pas encore utilisé @FILE et je ne suis donc pas certain d’avoir parfaitement compris ta réponse. J’ai tenté un @FILE dans la partie "code source" d’un document, mais ça n’a pas marché.
                La zone code source n’est-elle pas considérée comme une variable de modèle?

                Le code vient du forum US.
                Opengeek en a posté une version améliorée pour les snippets.
                Tu veux dire une version qui permet de stocker le code de manière externe aussi pour les snippets ?
                  • 34001
                  • 428 Posts
                  @Jul

                  Merci ! J’avais effectivement testé EditArea il y a un moment, mais ça n’était pas super stable...
                  Du coup, je n’avais poussé mes tests très loin...
                    Intégrateur web freelance
                    • 11975
                    • 2,542 Posts
                    voici une version du snippet transformé en plugin

                    Pas le temps de tester, si qq1 veut bien se dévouer.
                    Dans votre template inscrivez=> @FILE:chemin_vers_template (a partir de assets/templates)
                    Evenement associé => OnLoadWebDocument

                    //plugin pour charger un template depuis le file system
                    $e = & $modx->Event;
                    
                    switch($e->name){
                    
                    	case 'OnLoadWebDocument':
                    	$tplContent = $modx->documentContent;
                    	if( substr($tplContent,0,6) == "@FILE:"){
                    		$templatePath = substr($tplContent,6);
                    		$toFile = $modx->config['base_path'] ."assets/templates/".trim($templatePath); 
                    	
                    		if(is_file($toFile)){
                    			//Start the buffer
                    			ob_start();
                    			include $toFile;
                    			//get contents from the buffer
                    			$ob_contents = ob_get_contents();
                    			//and kill/delete the buffer
                    			ob_end_clean();
                    			//return it to MODx
                    			$modx->documentContent = $ob_contents;
                    		}else{
                    			$modx->documentContent = "Erreur lors du chargement du template => ".$toFile;
                    		}
                    	}
                    	break; 
                    	
                    	default:
                    	break;
                    
                    }
                     
                    
                    


                    :-)
                      Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                      • 34001
                      • 428 Posts
                      Je viens de tester et ça fonctionne parfaitement !

                      Encore une fois, merci Helio... wink

                        Intégrateur web freelance