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 :

Les images sont pas responsives [TinyMCE]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Les images sont pas responsives
    Bonsoir,

    j'ai une interface de ma zone admin qui utilise l'éditeur tinyMCE :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div>
        <form id="div_tinymce" method="post" name="edit" action="/admin-actu-save">
       ...
            <textarea name="actu" id="file-picker"><?= $this['actu_text'] ?></textarea>
          ...
            <input type="submit" value="envoyer"/>
        </form>
    </div>


    et

    Code js : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
      tinymce.init({
                selector: 'textarea#file-picker',
                ui_mode: 'split',
                /*mobile: {
                    menubar: true
                }
                mobile: {
                    theme: 'mobile'
                }*/
                /*width:1200,
                height:300,*/
                resize: 'both',
                statusbar: false,
                language_url: "assets/js/tymce_fr_fr.js",   // ici le chemin d'accès au fichier de traduction
                language : "fr_FR",
                plugins: 'image code',
                toolbar: 'undo redo | styles | bold italic | link image ',
     
                /* enable title field in the Image dialog*/
                image_title: true,
                /* enable automatic uploads of images represented by blob or data URIs*/
                automatic_uploads: true,
                /*
                URL of our upload handler (for more details check: https://www.tiny.cloud/docs/configure/file-image-upload/#images_upload_url)
                images_upload_url: 'postAcceptor.php',
                here we add custom filepicker only to Image dialog
                */
                images_upload_url: "<?= URL_LOCALHOST.'/admin-upload' ?>",
     
                file_picker_types: 'image',
                /* and here's our custom image picker*/
                file_picker_callback: function (cb, value, meta) {
                    let input = document.createElement('input');
                    input.setAttribute('type', 'file');
                    input.setAttribute('accept', 'image/*');
     
                    /*
                    Note: In modern browsers input[type="file"] is functional without
                    even adding it to the DOM, but that might not be the case in some older
                    or quirky browsers like IE, so you might want to add it to the DOM
                    just in case, and visually hide it. And do not forget do remove it
                    once you do not need it anymore.
                    */
     
                    input.onchange = function () {
                        let file = this.files[0];
     
                        let reader = new FileReader();
                        reader.onload = function () {
                            /*j
                            Note: Now we need to register the blob in TinyMCEs image blob
                            registry. In the next release this part hopefully won't be
                            necessary, as we are looking to handle it internally.*/
     
                            //var id = 'blobid' + (new Date()).getTime();
                            let id = file.name.split(".")[0]; // alert('head 50 filename='+file.name);      // mettre ici le nom du fichier
                            let blobCache =  tinymce.activeEditor.editorUpload.blobCache;
                            let base64 = reader.result.split(',')[1];
                            let blobInfo = blobCache.create(id, file, base64);
                            //var blobInfo = blobCache.create(id);
                            blobCache.add(blobInfo);
     
                            /* call the callback and populate the Title field with the file name */
                            cb(blobInfo.blobUri(), { title: file.name });
                        };
                        reader.readAsDataURL(file);
                    };
     
                    input.click();
                },
                content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }'
            });


    Malgré des recherches, je ne réussis pas le rendre entièrement responsive. Peut-on m'aider ? (J'ai commenté des essais trouvés sur le net dont le seul effet est de supprimer l'éditeur)
    Pour être plus précis, le menu et le texte, c'est responsive, mais pas les images...J'ai créé le contenu sur PC et je le regarde sur téléphone...

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    A mon avis, ça doit se régler avec du CSS. Pour avancer, j'ai pensé à regarder le code généré. Voici un exemple (avec CTRL+U) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form id="div_tinymce" method="post" name="edit" action="/admin-actu-save">
         <input type="hidden" name="id" value="327">
         <input type="date" name="date" value="2023-11-08">
              <textarea name="actu" id="file-picker">&lt;p&gt;actu du 08/11&lt;/p&gt;
    &lt;p&gt;nid de FA Saint Marcellin :&lt;/p&gt;
    &lt;p&gt;&lt;img title=&quot;nidfrelonsstmarcellin.jpeg&quot; src=&quot;http://dev.arnaudpoo.fr\/assets/upload/nidfrelonsstmarcellin.jpg&quot; alt=&quot;&quot; width=&quot;459&quot; height=&quot;612&quot;&gt;&lt;/p&gt;
    &lt;p&gt;nid de gu&amp;ecirc;pes de Corren&amp;ccedil;on :&lt;/p&gt;
    &lt;p&gt;&lt;img title=&quot;nid-guepes-correncon.jpeg&quot; src=&quot;http://dev.arnaudpoo.fr\/assets/upload/nid-guepes-correncon.jpg&quot; alt=&quot;&quot; width=&quot;635&quot; height=&quot;744&quot;&gt;&lt;/p&gt;</textarea>
             <input type="submit" value="envoyer"/>
     </form>
    Comme la ou les image(s) se trouveront toujours dans le textarea d'id file-picker, j'ai essayé ce CSS :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    img#file-picker {
      width:50%;
    }
    Il ne donne rien. Par contre, si dans l'inspecteur, je modifie le html de l'image :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img title="nidfrelonsstmarcellin.jpeg" style="width:50%" src="http://dev.arnaudpoo.fr\/assets/upload/nidfrelonsstmarcellin.jpg" alt="" width="459" height="612" data-mce-src="http://dev.arnaudpoo.fr\/assets/upload/nidfrelonsstmarcellin.jpg">
    J'ai rajouté style="width:50%", ça devient responsive (l'image s'adapte à la taille de la page)
    Ca vous donne une idée ?
    J'ai remarqué que le code généré obtenu par CTRL+U est différent de celui donné par l'inspecteur. Dans le code de ce dernier, on voit une <iframe> et pas avec CTRL+U...

  3. #3
    Membre éclairé Avatar de Chou-ette
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2018
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2018
    Messages : 57
    Par défaut
    Je ne saurais t'aider mais seul le code donné par l'inspecteur fait foi, le code source du ctrl + U est le code html brut renvoyé par le serveur, avant toute modification que le JS pourrait faire.

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour l'info. Donc je ne me fis qu'au code de l'inspecteur. Si je regarde la portion qui contient l'image :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <body id="tinymce" class="mce-content-body " data-id="file-picker" aria-label="Zone de Texte Riche. Appuyez sur ALT-0 pour l'aide." contenteditable="true" spellcheck="false"><p>actu du 08/11</p><p>nid de FA Saint Marcellin :</p><p><img title="nidfrelonsstmarcellin.jpeg" src="http://dev.arnaudpoo.fr\/assets/upload/nidfrelonsstmarcellin.jpg" alt="" width="459" height="612" data-mce-src="http://dev.arnaudpoo.fr\/assets/upload/nidfrelonsstmarcellin.jpg"></p><p>nid de guêpes de Corrençon :</p><p><img title="nid-guepes-correncon.jpeg" src="http://dev.arnaudpoo.fr\/assets/upload/nid-guepes-correncon.jpg" alt="" width="635" height="744" data-mce-src="http://dev.arnaudpoo.fr\/assets/upload/nid-guepes-correncon.jpg"></p></body>
    Je pense donc la cibler avec le sélecteur img#tinymce.
    J'ai donc essayé ce CSS :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    img#tinymce {
      width:50%;
    }
    mais il ne se passe rien et même cette règle CSS n'est pas visible dans l'inspecteur si je clique sur la balise de l'image...

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    j'ai l'impression que tu en demandes trop à l'éditeur tinyMCE, ce n'est pas son job que de faire de la mise en page poussé, il te faut mettre les mains dans le cambouis (façon de parler bien sûr) !

    Tu peux néanmoins, lors de l'insertion d'une image mettre sa largeur à 100% dans la boîte de dialogue.

  6. #6
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Même si l'utilisateur prévu sera réduit à une seule personne et donc qu'il est possible de lui expliquer comment faire (je viens de le faire : https://pasdpanique.fr/admin-actu-form-maj?id=10), ça n'a rien d'intuitif, donc je préfère mettre les mains dans le cambouis...Si y a pas une directive qui va bien à mettre dans tinymce.init.

    Peux-tu m'aider ? (j'ai pas une formation de garagiste et j'y connais rien en mécanique )

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/04/2023, 14h56
  2. Réponses: 12
    Dernier message: 17/02/2010, 16h59
  3. [OpenOffice][Texte] Comment les images sont-elles stockées avec open office?
    Par LGnord dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 26/06/2009, 14h21
  4. Les images sont des légendes
    Par totof49 dans le forum Langage
    Réponses: 16
    Dernier message: 14/05/2009, 17h47

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