IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

CKeditor config.js non-executé [CKEditor]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut CKeditor config.js non-executé
    Bonsoir à tous,

    Du jour au lendemain, je suis tombé face à un problème, sans en comprendre la raison:
    J'ai configuré mon fichier config.js afin de faire un éditeur personnalisé, en fonction de la page.
    Tout marchait parfaitement, jusqu'à aujourd'hui... Je n'ai fait que modifier mes classes et quelques autres choses, n'ayant aucuns rapports avec CKeditor aujourd'hui, et je me rends compte, qu'à la place de m'afficher mon éditeur personnalisé, il m'affiche l'éditeur complet, de base ... En fait, c'est comme si le config.js n'était pas executé du tout, alors que tout le reste marche parfaitement (CKfinder etc..).

    Voici ci-dessous mon fichier config.js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    CKEDITOR.editorConfig = function( config )
    {
     
    	config.toolbar = 'basic';
    	config.toolbar_basic =
    	[
    		['Bold', 'Italic','Underline','Strike', '-', '-', 'Link', 'Unlink','-', 'Styles','Format','Font','FontSize'],
    		['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    		['TextColor','BGColor'],
    		[ '-', '-', 'Image', '-', '-' ],
    	];
     
            config.toolbar_noadmin =
    	[
    		['Bold', 'Italic','Underline','Strike', '-', '-', 'Link', 'Unlink','-', 'Styles','Format','Font','FontSize'],
    		['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    		['TextColor','BGColor'],
    	];
    };
    Et ici mon intégration dans un module "réponses":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <p>
    		    <label for="texte">Texte: *</label><br/>
    		    <TEXTAREA rows="10" cols="50" id="texte" name="texte"  ></textarea>
    		    <script type="text/javascript">
    			CKEDITOR.replace( 'texte',
    			{
    				toolbar : 'noadmin'
    			});
                        </script>
    		</p>
    A savoir que dans le module réponse, il n'affiche même pas l'éditeur (comme noadmin n'est pas appelé)

    Et voici un autre module:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                    <p>
    		    <label for="texte">Texte: *</label><br/>
    		    <TEXTAREA rows="10" cols="50" id="texte" name="texte"  ></textarea>
    		    <script type="text/javascript">
    			CKEDITOR.replace( 'texte',
    			{
    			    filebrowserImageWindowWidth : '750',
    			    filebrowserImageWindowHeight : '520',
    			    filebrowserBrowseUrl : 'ckfinder/ckfinder.html',
    			    filebrowserImageBrowseUrl : 'ckfinder/ckfinder.html?Type=Images',
    			    filebrowserImageUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images'
    			});
                        </script>
    		</p>
    Pour ce type de module, CKfinder: Aucuns problèmes, mais en revenche, il ne fait pas appel au toolbar que je souhaite, et affiche le toolbar de base, c'est à dire où il y a absolument TOUT ^^

    Et pour finir, dans le head:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
    Edit: AH! Et je précise une chose: Ma config du fichier config.js marche parfaitement en local, mais pas en ligne :/


    Je ne comprends donc absolument pas pourquoi il réagit ainsi, et je remercie d'avance toute personne qui pourra m'apporter une réponse .

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut
    Bonjour,

    Est-ce que ce ne serait pas un problème d'URLs relatives ?

    Ou un problème de droits peut-être ? Le fichier js doit être accessible en lecture il me semble.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    Bonjour goomazio,
    Je ne pense pas que le problème vienne d'URLs relatives, puisque avant cela marchait parfaitement ..

    Et oui effectivement CKfinder demande une autorisation, que j'ai décidé d'outre-passer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function CheckAuthentication()
    {
    	// WARNING : DO NOT simply return "true". By doing so, you are allowing
    	// "anyone" to upload and list the files in your server. You must implement
    	// some kind of session validation here. Even something very simple as...
     
    	// return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized'];
     
    	// ... where $_SESSION['IsAuthorized'] is set to "true" as soon as the
    	// user logs in your system. To be able to use session variables don't
    	// forget to add session_start() at the top of this file.
     
    	return true;
    }
    Mais je ne pense pas que ce soit le cas avec CKeditor ...

    Enfin bref, ce problème me fait m'arracher les cheveux, je venais tout juste de terminer mon projet ^^.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    Bon, après plusieurs essais, il est vrai que lorsque l'URL n'est pas bonne, il définit un éditeur de base, qui comprend toutes les fonctionnalités de CKeditor..

    Donc j'ai fait différends tests à partir du fichier ckeditor.js comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a.config={customConfig:'/test/back/ckeditor/config.js'
    Enfin bref, j'ai du tester toutes les URIs/URLs possible et imaginable, et rien ne marche ... A la base, il n'y a qu'à mettre: customConfig:'config.js' ^^

    J'ai aussi tenté de cette façon là, sans plus de succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CKEDITOR.replace( 'texte',
        {
            customConfig : 'config.js'
        });
    Et comme d'habitude, quand l'URL est correct, cela marche parfaitement en local, et pas en ligne -_-


    Edit: Il n'y aurait pas une possibilité pour définir une toolbar de base, sans passer par ce foutu fichier config ? ^^

    2ndEdit: Cette fois ci, j'ai tout réinstallé CKeditor, et à nouveau le même problème ... Est-ce possible qu'il y ai un conflit quelque part ? Je commence à être perdu ^^


    3rd Edit: Après d'autres tests, je me rends compte qu'il doit bien y avoir un autre fichier où les configs de la toolbar (full et basic) sont préchargés ... J'ai réussit à executer la config basic de cette façon alors que mon fichier config.js ne comporte aucunes toolbar basic ^^:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		    <script type="text/javascript">
    			CKEDITOR.replace( 'texte',
    			{
    				toolbar : 'Basic'
    			});
                        </script>

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    BON, RÉSOLU !!!! Enfin ^^
    Enfin j'ai fait de la bidouille hein, ne trouvant pas solution à mon problème, j'ai cherché toutes les occurrences amenant à "toolbar_Full", et OH, surprise, il a une valeur par défaut dans le cas où il ne trouve pas de fichier config.

    Donc voilà, pour aider toute autre personne ne trouvant pas non plus comment résoudre cela, c'est donc dans le fichier ckeditor.js, ligne: 91, et plus exactement ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    i.toolbar_Basic=[
                     ['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']
                     ];
    Donc voilà, moi je l'ai configuré de cette façon du coup:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    i.toolbar_Basic=[
                     ['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']
                     ];
    i.toolbar_Full=[
                    ['Source','-','Save','NewPage','Preview','-','Templates'],
                    ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],
                    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
                    ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField']
                    ,'/',
                    ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
                    ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],
                    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],
                    ['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe']
                    ,'/',
                    ['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']
                    ];
    i.toolbar_custom=[
    		['Bold', 'Italic','Underline','Strike', '-', '-', 'Link', 'Unlink','-', 'Styles','Format','Font','FontSize'],
    		['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    		['TextColor','BGColor'],
    		[ '-', '-', 'Image', '-', '-' ]
                    ];
    i.toolbar_noadmin=[
    		['Bold', 'Italic','Underline','Strike', '-', '-', 'Link', 'Unlink','-', 'Styles','Format','Font','FontSize'],
    		['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    		['TextColor','BGColor']
                    ];
    i.toolbar='custom';

    Comme je l'ai dit, c'est de la bidouille, donc ce n'est pas résolu, mais ça marche xD.

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut
    Ah oui c'est une façon de faire

    Sinon, au sujet des permissions, je ne sais pas si on s'est bien compris.

    Est-ce qu'en fonction du résultat de CheckAuthentication vous modifiez les permissions du fichier config.js "à la volée" ? (par exemple via une commande chmod 774) ou quelque chose d'équivalent ?


    Sinon pour être sur, je parlais du fait que certains fichiers (je ne sais pas lesquels exactement), doivent êtres accessibles en lecture par tout le monde (ou juste l'utilisateur du serveur web (www-data par exemple)) pour pouvoir êtres téléchargés (c'est le cas de tous les fichiers du dossier webroot dans cakephp je pense).

    Ne cherchons pas de vérité dans ce paragraphe, mais si on parlait effectivement de 2 choses différentes, ce que je vous propose c'est d'essayer de modifier les permissions du dossier webroot de votre siteweb (sur le serveur en-ligne) pour que tout soit en lecture par tout le monde.


    Je n'ai pas essayé d'héberger le site sur lequel j'utilise CKEditor, peut-être que j'aurai le même problème que vous mais là je n'ai pas plus d'idée.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 108
    Par défaut
    Citation Envoyé par goomazio Voir le message
    Ah oui c'est une façon de faire

    Sinon, au sujet des permissions, je ne sais pas si on s'est bien compris.

    Est-ce qu'en fonction du résultat de CheckAuthentication vous modifiez les permissions du fichier config.js "à la volée" ? (par exemple via une commande chmod 774) ou quelque chose d'équivalent ?

    Oui effectivement, nous avons du mal nous comprendre .

    En fait, je ne modifie pas les permissions à la volée, étant donné que seuls les administrateurs ont accès à l'éditeur ! Il est utilisé dans un back office en vérité !
    Autrement, je ne pense pas que vous rencontrerez le même problème que moi, car j'ai bien cherché, et très rares sont les cas similaires au mien, et même du côté anglais !
    J'ai certainement du créer un conflit ou je ne sais qu'elle autre erreur, mais peu importe, j'espère que ce topic pourra éventuellement aider, ou éclaircir certaines personnes !

    Pour ma part, mon problème m'a permit de connaître bien davantage CKeditor, à force d'observer chacun des fichiers de configuration et autres ^^.

    Je vous remercie quand même beaucoup pour votre aide .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. procedure sql non executé on vb.net,?
    Par hfesa_36 dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/01/2007, 22h07
  2. Code php non exécuté au lancement de la page
    Par defluc dans le forum Langage
    Réponses: 14
    Dernier message: 06/11/2006, 01h46
  3. [C#] Requete non executés
    Par ducker88 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/07/2005, 10h55
  4. css non execute
    Par hunter dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/05/2005, 09h11
  5. [Config] Classes non trouvées
    Par newfsch dans le forum JBuilder
    Réponses: 2
    Dernier message: 27/01/2004, 21h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo