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 :

KCFinder et liens absolus/relatifs [CKEditor]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Invité
    Invité(e)
    Par défaut KCFinder et liens absolus/relatifs
    Bonjour à tous !

    J'utilise actuellement CKEditor 4.1.2 couplé à KCFinder 2.51 dans le cadre d'une appli web pour éditer divers contenus de pages HTML.
    Rien à signaler en local concernant le fonctionnement de l'outil, quand je veux intégrer une image à mon corps de page, je clique sur "Image" -> "Explorer le serveur", je sélectionne mon image, son lien apparaît dans le champ URL du menu "Image", la prévisualisation en-dessous fonctionne, mon image est intégrée correctement à mon corps de page, tout est parfait.

    Cependant, cette appli doit être transposée sur un serveur mutu 1&1. Le problème qui se produit n'est alors pas gravissime en soi et facilement corrigible manuellement, mais sachant que l'appli est ensuite livrée à un client, il est mieux d'automatiser cette correction.

    Le problème en lui-même réside dans le champ URL du menu "Image". Je parviens jusqu'à l'étape de sélection d'image, et là, boum, le lien qui s'affiche n'est pas correct.

    Mon arborescence fonctionne ainsi : à la racine du serveur, j'ai un dossier "js", dans lequel on trouve le dossier "ckeditor" contenant ... CKEditor, dans lequel on trouve le dossier "kcfinder" contenant ... KCFinder, dans lequel on trouve le dossier "upload" contenant les fichiers que j'envoie, dans lequel on trouve le dossier "images" avec les images que j'envoie.

    Local :
    En gros, le lien absolu d'une image ressemble à ça : "localhost/dossierprojet/sousdossierprojet/js/ckeditor/kcfinder/upload/images/monimage.jpeg" .
    Dans le champ URL du menu "Image", seule la partie "/dossierprojet/sousdossierprojet/js/ckeditor/kcfinder/upload/images/monimage.jpeg" est conservée, mais je pourrais inscrire "js/ckeditor/kcfinder/upload/images/monimage.jpeg" sans problème, et mon image serait toujours prévisualisée correctement.

    Serveur :
    Dans le champ URL du menu "Image", seule la partie "/images/monimage.jpeg" est conservée, mais je pourrais inscrire "js/ckeditor/kcfinder/upload/images/monimage.jpeg" sans problème, et mon image serait prévisualisée correctement.
    Et le problème vient donc du fait que le lien donné par défaut est faux.

    Plein de paragraphes pour pas grand chose, je conçois (vu qu'en temps normal, j'explique très mal, je préfère détailler). On peut corriger ça facilement, mais vu que l'utilisateur final risque de ne pas nécessairement y penser systématiquement, je préfère que ce problème soit corrigé.

    Voilà quelques détails au niveau du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Extrait de js/ckeditor/config.js
     
    CKEDITOR.editorConfig = function( config ) {
    	// Define changes to default configuration here. For example:
    	// config.language = 'fr';
    	// config.uiColor = '#AADC6E';
       config.filebrowserBrowseUrl = 'js/ckeditor/kcfinder/browse.php?type=files';
       config.filebrowserImageBrowseUrl = 'js/ckeditor/kcfinder/browse.php?type=images';
       config.filebrowserFlashBrowseUrl = 'js/ckeditor/kcfinder/browse.php?type=flash';
       config.filebrowserUploadUrl = 'js/ckeditor/kcfinder/upload.php?type=files';
       config.filebrowserImageUploadUrl = 'js/ckeditor/kcfinder/upload.php?type=images';
       config.filebrowserFlashUploadUrl = 'js/ckeditor/kcfinder/upload.php?type=flash';
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Extrait de js/ckeditor/kcfinder/config.php
     
        'uploadURL' => "upload",
        'uploadDir' => "upload", // côté serveur, si je laisse une chaîne vide, l'exploration dans KCFinder ne pointe pas vers le bon dossier
    J'ai déjà pas mal d'alternatives sous le coude, mais rien de vraiment optimal.
    Je ne peux pas placer le dossier de destination des images à la racine, car l'appli est elle-même dans un dossier.
    Je pourrais renseigner un lien absolu (remplacer 'uploadURL' => "upload" par 'uploadURL' => "http://".$_SERVER['HTTP_HOST']."/sousdossier/js/ckeditor/kcfinder/upload" ), mais un éventuel changement de serveur s'avérerait quelque peu chaotique.

    Existe-il alors une autre solution à laquelle je n'aie pas pensé ? D'avance, je vous remercie pour vos éventuelles réponses !

    PS : Je tarderai peut-être à répondre, je ne reprends pas l'appli avant Samedi.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    perso, je mets le dossier "upload" à la racine du site (en local comme sur server).

    Et dans config.php (KCfinder) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        'uploadURL' 			=> "../../../../upload",	// mettre autant de ../ que nécessaire pour "descendre" à la racine.
        'uploadDir' 			=> "",
    Ca simplifie (racourcit) aussi nettement les URL.
    Inutile de rallonger les URL des images en enfouissant le dossier "upload" dans des poupées russes (dossier dans dossier dans...) !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour et merci pour la réponse !

    Comme je le disais, l'appli sera stockée dans un sous-dossier sur le serveur. Le même serveur comprend plusieurs dossiers, et le plus optimal serait de ne pas placer le dossier d'images directement à la racine (ainsi, tous les éléments de l'appli restent dans un unique sous-dossier).

    Bon, en attendant, je suppose que je n'ai pas spécialement le choix, et je tâche de déplacer le dossier, mais ce n'est pas la meilleure solution. Le mieux serait de trouver comment résoudre le problème au niveau de CKEditor.

    Là, je cherche encore une solution jusqu'à ce soir, mais je dois laisser l'appli de côté pour les deux prochaines semaines, je mets quand même le sujet en résolu ?

    EDIT : Au cours de l'après-midi, je me suis finalement résolu à tenter un bricolage par moi-même au niveau de config.php . Le résultat n'est pas spécialement propre, mais ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // dans kcfinder/config.php
    $tab = $_SERVER['SCRIPT_NAME']; // je récupère la portion de lien située entre la racine du site et browse.php
    $tab = explode('/',$tab); // je sépare chaque sous-dossier
    array_pop($tab); // je fais sauter le nom du script
    $url = ''; // je prépare le chemin à utiliser
    foreach ($tab as $elem) $url .= '/'.$elem; // je finalise le chemin
     
    $_CONFIG = array(
     
    // ...
     
    'uploadURL' => $url."/upload", // je termine mon lien
    Au niveau de mon application, je cherche ensuite le lien, et sur une fonction similaire à celle utilisée au-dessus, je fais sauter les éventuels noms de sous-dossiers.

    Je vous avais prévenu, c'est moche. Fort heureusement, l'appli va maintenant être en standby dans les deux semaines à suivre (personne ne s'en servira, en théorie) et sera reprise ensuite. J'effectuerai davantage de tests à ce moment pour voir si ce bout de code n'entrave pas les autres fonctionnalités de KCFinder.
    Dernière modification par Invité ; 21/12/2013 à 16h30.

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

Discussions similaires

  1. convertir liens relatifs en liens absolus
    Par marechh dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 21/04/2009, 17h51
  2. MVC, liens absolus, relatifs
    Par Sylvain__A_ dans le forum Langage
    Réponses: 5
    Dernier message: 13/11/2008, 11h45
  3. [Wamp] configuration php : probleme avec les liens absolus
    Par chico_du_33 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 17/05/2007, 14h03
  4. lien html relatif avec tomcat
    Par akira2x3x dans le forum Struts 1
    Réponses: 1
    Dernier message: 19/12/2006, 09h14

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