-
- 7,075 Posts
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ô
?
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
-
- 835 Posts
SAlut
Perinne, qu’as tu fais pour le chemin d’accès? Mis en dur avec ou sans variable?
-
- 1,842 Posts
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.
-
- 835 Posts
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.
-
- 7,075 Posts
.: 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 <[email protected]>
* Gildas <[email protected]>
*
* @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. <[email protected]>
* 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);
}
?>
-
- 7,075 Posts
Excellent Gildas
!!!
Je vois que tu as réussi à faire fonctionner pour onDocFormRender aussi
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
)
En tout cas, je teste et je te fais un petit rapport...
.: COO - Commerce Guys - Community Driven Innovation :.
MODx est l'outil id
-
- 283 Posts
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 ?