On March 26, 2019 we launched new MODX Forums. Please join us at the new MODX Community Forums.
Subscribe: RSS
  • Pour ceux qui ne sont pas lecteurs des forums anglophones, un plugin qui vient de sortir et qui fait très fort : CodePress, qui vous permet de bénéficier de la *coloration syntaxique en live* lorsque vous éditez un snippet, un chunk, un module, un plugin ou encore un template dans le manager !

    C’est ti pas bô grin ?

    Pour le télécharger :
    http://modxcms.com/forums/index.php/topic,8029.0.html
      .: COO - Commerce Guys - Community Driven Innovation :.


      MODx est l'outil id
    • Bonjour,

      Testé et petit souci :

      Fehler 404 ist aufgetreten :-( Filename: /kunden/usr/local/apache/share/cgi-bin/error404.2.html

      J’ai bien supprimer les balise php du début et de la fin

      Corrigé avec le chemin en dur mais bon j’aime pas ça
      • Ayé, c’est installé avec les petites modifs d’Oncle Ben et la correction du chemin d’accès au fichier... Niquel, ça roule ! wink

        Merci de nous avoir indiqué ce plugin David
        • SAlut

          Perinne, qu’as tu fais pour le chemin d’accès? Mis en dur avec ou sans variable?
          • J’ai mis en dur dans le code du snippet, sans variable (par variable tu entends le [(site_url)] ?)

            En revanche, après avoir fait la modif dans le code, j’ai du désinstaller le snippet pour le réinstaller car la modif ne semblait pas être prise en compte.
            • Re

              Oui je pensais à cela car moi pour le moment j’utilise l’adresse de mon dédié pour la construction de mon site et pas l’url déinitive donc bien que cela mrchera toujours j’aurais préférez mettre une variable.

              Quand à moi pas besoins de reinstaller cela a marcher de suite.

              J’attends une réponse pour éditer les documents car moi le WISYWYG je deteste.
                • .: COO - Commerce Guys - Community Driven Innovation :.


                  MODx est l'outil id
                • Vous trouverez ci-après une version "personnalisée" du plugin CodePress. Cette version apporte les corrections ou compléments suivants :


                  • Ajout du support pour les Chunks, Templates, Modules, Plugins et pour les documents
                  • Désactivation automatique du plugin en mode RTE
                  • Ajout du support pour IE6
                  • Correction du problème de localisation de codepress.html

                  <?php
                  /**
                   * @name       CodePress Plugin
                   * @author     Timon Reinhard <timon@netnoise.de>
                   *             Gildas <gildas@krismas.net>
                   *              
                   * @copyright  Copyright (c) 2006 Netnoise Media GbR
                   * @license    GNU General Public License 2.0
                   * @version    0.2.1 - 19/10/06
                   *
                   * @history    [Gildas - 18/10/06] Add CodePress support In Templates, Chunks, Modules & Plugins 
                   *             [Gildas - 18/10/06] Use a relative path for codepress.html
                   *             [Gildas - 18/10/06] Add CodePress support in IE6
                   *             [Gildas - 18/10/06] Add Debug mode to disable CodePress in CodePress Plugin ;-)
                   *             [Gildas - 19/10/06] Add CodePress support In Documents
                   *             [Gildas - 19/10/06] Make some tests with CodePress 0.88 
                   *             [Gildas - 19/10/06] Add system_settings['use_editor'] & site_content['richtext'] support
                   *
                   * @todo       Rewrite PHP CSS for Plugin & Module syntax highlighting (no PHP tag)
                   *             Cut/Paste problem : Code indentation removed !?
                   *   
                   * Replaces standard textarea with CodePress
                   *  
                   * CodePress is a code editor with syntax highlighting
                   * written in JavaScript by Fernando M.A.d.S. <fermads@gmail.com>
                   * Homepage: http://codepress.fermads.net/
                   * CodePress is distributed under the LGPL.
                   */
                  global $content;
                  
                  /*
                   * Collect current MODx Event & Initialize language
                   */
                  $evt   = &$modx->Event;
                  $lang  = '';
                  $ta    = 'post';
                  $debug = false;
                  $oname = $content['name'];
                  
                  /*
                   * This plugin is only valid in "text" mode. So check for the current Editor 
                   */
                  $rte  = (isset($_POST['which_editor']) ? $_POST['which_editor'] : '');
                  
                  /*
                   * Check Event to define language
                   */
                  switch ($evt->name) {
                      case 'OnTempFormRender'  :
                          $oname = $content['templatename'];
                      case 'OnChunkFormRender' :
                          $lang  = 'html';
                          $rte   = ($rte ? $rte : 'none');
                          break;
                      case 'OnDocFormRender'   :
                          $lang  = 'html';
                          $ta    = 'ta';
                          $rte   = ($content['richtext'] ? ($rte ? $rte : ($modx->config['use_editor'] ? $modx->config['which_editor'] : 'none')) : 'none');
                          $oname = $content['pagetitle'];
                          break;
                      case 'OnSnipFormRender'  :
                      case 'OnPluginFormRender':
                      case 'OnModFormRender'   :
                          $lang  = 'php';
                          $rte   = ($rte ? $rte : 'none');
                          break;
                  }
                  
                  /*
                   * Add some Trace for Debug purpose 
                   */
                  if (lang) {
                      $evt->output('<!--  CodePress Plugin Debug for : '.$evt->name.' in '.$oname.' ['.$lang.']['.$rte.']['.$modx->config['use_editor'].']['.$modx->config['which_editor'].']['.$content['richtext'].'] -->');
                  }
                  
                  /*
                   * Create JS code if needed
                   */
                  if (('none' == $rte) && $lang && !($debug && ('codepress' == strtolower($oname)))) {
                      $output = <<< HEREDOC
                      
                      <!-- CodePress Plugin -->
                      <script type="text/javascript">
                          /*
                           * Read the code from the iFrame
                           */
                          function getCode() {
                              /*
                               * Search the iFrame & get the code without Highlighting
                               */
                              var IFrameObj = document.getElementById('codepress').contentWindow;
                              var textWithoutHighlighting = IFrameObj.CodePress.getCode();
                          
                              /*
                               * Put the code in the "original" textarea
                               */
                              var ta   = document.getElementsByName('$ta')[0];
                              ta.value = textWithoutHighlighting;
                          }
                      
                          /*
                           * Write the code to the iFrame
                           */
                          function setCode(lang) {
                              /*
                               * Search the iFrame & the textarea 
                               */
                              var IFrameObj = document.getElementById('codepress').contentWindow;
                              var ta        = document.getElementsByName('$ta')[0];
                  
                              /*
                               * Put the "orignal" code from the textarea to CodePress
                               */
                              IFrameObj.CodePress.setCode(lang, ta.value);  
                          }
                  
                          /*
                           * Add CodePress specific getcode() action to the standard to "save process"
                           */
                          function onSaveCodePress () {
                              getCode();
                              documentDirty = false;
                              document.mutate.save.click();
                              if (document.getElementById('savingMessage')) saveWait('mutate');
                          }
                  
                          /* 
                           * Locate the textarea named "post" or "ta"
                           */
                          var ta = document.getElementsByName('$ta')[0];
                         
                          /* 
                           * If we have found a valid textarea then insert CodePress...
                           */
                          if (ta && ('textarea' == ta.type)) {
                              /* 
                               * Hide the textarea, insert an iframe in replacement and last
                               * modify "on save" actions
                               */
                              ta.style.display = 'none'; 
                              ta.parentNode.innerHTML+= '<iframe onload="setCode(\'$lang\');" style="border:none; margin:0; padding:0; width:100%; height:400px;" id="codepress" src="../assets/plugins/codepress/codepress.html"></iframe><br />';
                              document.getElementById('Button1').onclick = onSaveCodePress;
                          }
                      </script>
                      <!-- /CodePress Plugin -->
                  HEREDOC;
                      
                      /*
                       * Output JS code
                       */
                      $evt->output($output);
                  }
                  ?>
                    Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...
                  • Excellent Gildas grin !!!

                    Je vois que tu as réussi à faire fonctionner pour onDocFormRender aussi laugh

                    Je te suggère de poster ce code sur le fil original, que tout le monde en profite !!!

                    (encore quelques uns comme ça et on va noyauter l’équipe de test / code de MODx wink )

                    En tout cas, je teste et je te fais un petit rapport...
                      .: COO - Commerce Guys - Community Driven Innovation :.


                      MODx est l&#39;outil id
                    • Chez moi le nouveau code marche pas bien. Ca ne parche pas pour les document et surtout il y a beaucoup moins de code valeur dans les snippet ou les plugins.

                      Est-ce que j’ai loupé quelquechose ?