Diriger l'assistant d'insertion d'image vers une catégorie spécifique

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Diriger l'assistant d'insertion d'image vers une catégorie spécifique

    Bonjour,

    Je m'occupe d'un site Joomla qui contient une documentation avec quelques certaines d'articles.
    Les auteurs sont nombreux et lorsqu'ils souhaitent insérer une image ils doivent choisir son emplacement à partir du dossier racine.
    C'est franchement pas pratique pour eux de retrouver le bon dossier, et en plus ça a pour conséquence que les images sont rangées de façon anarchique, certaines à la racine directement quand l'auteur oublie de choisir un dossier.
    Je voudrais modifier cet assistant pour qu'il s'ouvre directement dans un sous-répertoire, en fonction de la catégorie de l'article.
    Vous pensez que c'est faisable ? Si on ne fait rien ça va s'accumuler à la fin faire un joli bazar

    Le lien du bouton d'insertion d'une image est le suivant :
    Code PHP:
    $link 'index.php?option=com_media&view=images&tmpl=component&e_name=' $name '&asset=' $asset '&author=' $author
    J'ai regardé dans /components/com_media mais je n'ai pas vu de dossier /view/images ...

    Merci pour votre aide !

  • #2
    Bonjour,

    Le mettre dans un dossier en fonction de la catégorie, pas très facile
    Mais de mémoire, il me semble que dans JCE on peut définir un dossier par utilisateur. C'est déjà un mieux !
    UP, le plugin universel à découvrir sur https//up.lomart.fr
    bgMax
    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

    Commentaire


    • #3
      Pour l'instant on reste sur tinyMCE avec une mise en forme et des fonctions 'limitées', donc une interface simple et un rendu homogène.
      D'autre part tous les utilisateurs ont accès à tous les dossiers, qui correspondent à des clients, des outils, etc., ce n'est pas pertinent dans notre cas de classer ça par utilisateur.

      En fait il suffirait que l'assistant s'ouvre sur un sous-répertoire par défaut, même si l'utilisateur a toujours accès au reste avant de valider.
      Je peux faire manuellement les correspondances catégorie de l'article / emplacement de l'image (avec un emplacement racine par défaut quand la correspondance n'est pas trouvée), c'est du taf mais ça nous éviterait de perdre du temps et de la lisibilité... et des problèmes à long terme.

      Commentaire


      • #4
        Personne n'a une idée ? ou peut juste m'indiquer le bon fichier à modifier ?

        Commentaire


        • #5
          Puisque tu utilises TinyMCE, va dans le paramétrage du plugin, tu trouveras un paramètre "Dossier images" qui devrait te permettre de n'ouvrir que le dossier voulu.
          Sauf que malgré le paramétrage des trois sets du plugin, je n'ai aucune restriction ni en administration en tant sue super utilisateur, ni sur le site en tant qu'auteur !
          Mais n'utilisant habituellement que JCE, peut-être ai-je oublié quelque chose dans les paramètres TinyMCE ?
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Il y a un bien un paramètre de dossier par défaut dans la config du plugin, mais dans notre cas il s'agit d'orienter l'auteur vers un sous-répertoire qui dépend de la catégorie de l'article.
            Si j'ai bien compris il y a 2 éléments en jeu :
            • l'affichage de l'assistant com_media (/plugins/editors-xtd/image/image.php), pour nous c'est la priorité
            • et le drag&drop (/plugins/editors/tinymce/tinymce.php)

            /plugins/editors-xtd/image/image.php :
            Code PHP:
            $link 'index.php?option=com_media&view=images&tmpl=component&e_name=' $name '&asset=' $asset '&author=' $author

            Ce serait le bon endroit pour ajouter un paramètre de dossier racine ou est-ce qu'il faut aller voir dans le fonctionnement du com_media ?
            Mais ce n'est pas une surcharge et les mises à jour seront un problème c'est ça ?

            D'autre part, dans /plugins/editors/tinymce/tinymce.php , le paramètre d'emplacement d'image est mentionné pour le drag & drop je crois :
            Code PHP:
                    // [...]
                    // Drag and drop Images
                    // [...]
                        // Get specific path
                        
            $tempPath $this->params->get('path''');

                        if (!empty(
            $tempPath))
                        {
                            
            // Remove the root images path
                            
            $tempPath str_replace(JComponentHelper::getParams('com_media')->get('image_path') . '/'''$tempPath);
                        }
                        
            // [...]
                


            Même question pour donner une valeur par défaut à $tempPath...

            Je précise que chez moi le paramètre de dossier d'image de tinymce :
            • est pris en compte par le drag&drop (si je dépose une image dans la zone d'édition elle s'enregistre au bon endroit, même si elle n'est pas insérée donc il y a quand même un [autre] problème
            • n'est pas du tout pris en compte par le bouton 'image' et si il devrait l'être je ne vois pas du tout où dans le code...
            Dernière édition par 8Fanny8 à 19/02/2018, 11h46

            Commentaire


            • #7
              Pas d'idée ?
              Vous pouvez me le dire si vous pensez que ce n'est pas réalisable

              Commentaire


              • #8
                Bonjour Fanny,

                Tu as suffisamment joué avec tinyMCE (https://forum.joomla.fr/archive/index.php/t-210873.html) pour savoir que ce n'est pas évident, mais sans doute possible avec du temps.
                UP, le plugin universel à découvrir sur https//up.lomart.fr
                bgMax
                , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                Commentaire


                • #9

                  Ce qui n'est pas évident c'est qu'en fait tinyMCE appelle le com_media, c'est lui qui s'affiche dans la popup.
                  Et je n'arrive pas trop à comprendre comment fonctionne ce dernier.
                  En tous cas je ne vois pas à quel moment il appelle le dossier racine pour afficher son contenu...

                  Commentaire


                  • #10
                    Et est-ce qu'ils n'envisageraient pas une amélioration dans les tuyaux ? Ça m'étonne déjà que le système ne soit pas plus souple...

                    Commentaire


                    • #11
                      Les systèmes d'upload un peu plus évolués privilégient plutôt la sécurité, c'est à dire "chacun chez soi".

                      On joue alors soit avec JCE comme cela t'a déjà été dit, où tu peut définir les dossiers d'upload fichiers, photos, etc... avec des variables dans les nom de l’arborescence qui se remplacent (user id ou pseudo du membre par exemple)
                      ou avec des extensions type droppics où on fonctionne plus selon l'ACL de joomla, mais où tu ne maitrise pas forcement le sous-dossier de destination sur le serveur.

                      De mon côté je change chaque année la racine des répertoires de dépot des mes éditeurs qui est du type documents/2018/$username
                      Les variables qu'accepte JCE dans les chemins sont liés à l'utilisateur, à son groupe, son profil JCE ou à la date.

                      Concernant les noms des sous-dossiers, l'utilisation de la valeur d'un autre champ du formulaire courant (comme la catégorie) est délicate.

                      Ceci car un éditeur TINY, JCE ou autre, n'est en fait qu'un champ de Joomla, qui s'utilise ailleurs que dans le composant des articles (com_content).

                      Il ne peut donc utiliser la valeur d'un autre champ qui pourrait ne pas être présent ou multiple dans un autre composant et identifié différemment par le développeur du composant en question.

                      Autre point intéressant dans JCE est qu'il peut aussi formater le nom des fichiers en remplaçant les espaces par des _ (underscore) (par exemple) et en t'évitant d'avoir des caractères spéciaux ou accentués dans les noms de fichiers côté serveur et donc des noms barbares avec des %20 ou autres %xx classiques qui peuvent poser problème quand des internautes non avertis envoient des fichiers nommée à la sauce d'OS Windows ou Mac, vers ton serveur Linux.

                      JCE sais aussi bloquer par suffixe (autoriser que les .pdf, .jpg, .png) par exemple, et contrôler le type mime du fichier envoyé, plus de nombreuses autres fonctions, comme l'insertion d'une classe pour donner automatiquement un effet sur les image, la calcul de la miniature, etc...
                      Dernière édition par roland_d_alsace à 29/03/2018, 14h24
                      A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                      Rejoignez le Joomla Users Groupe Alsace...
                      roland_d_alsace va-t-il devenir roland_du_grand_est ?

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X