[RESOLU] Mon image ne s'affiche plus avec TinyMCE

Eléphant du PHP | 74 Messages

02 avr. 2024, 20:13

Oui, même après upload une nouvelle image :

Image

Mammouth du PHP | 2703 Messages

02 avr. 2024, 20:23

l'url de la page où doit s'afficher l'image est "127.0.0.1:8000/guide"
guide est bien un répertoire ?
avec 127.0.0.1:8000/, il n'y aurait pas besoin du / avant assets, donc pas besoin de trouver ce que fait tinymce suite à
resolve(json.location);

Eléphant du PHP | 74 Messages

02 avr. 2024, 20:38

J'ai seulement un dossier "guide" on y retrouve mes 2 vues twig, je n'ai pas d'autre dossier guide.

Ah oui, oui je suis d'accord avec toi l'histoire du "/" c'était juste que je suis tomber par hasard dessus et je me suis tout bêtement dit qu'il manquait un "/" avant le assets c'est tout...

Image

Mammouth du PHP | 2703 Messages

02 avr. 2024, 20:45

qu'est-ce qui se passe en allant à cette url dans le navigateur ?
127.0.0.1:8000/

en mettant les 2 .twig au même niveau que base.html.twig ?
en mettant les 2 .twig dans home ?

Mammouth du PHP | 2703 Messages

02 avr. 2024, 20:50

quel est le contenu du répertoire public ?

Mammouth du PHP | 2703 Messages

02 avr. 2024, 20:52

et en changeant l'url d'un article pour passer de
/guide/96
à
/guide-96
?

Eléphant du PHP | 74 Messages

02 avr. 2024, 20:57

url 127.0.0.1:8000/ c'est mon home c'est à dire mon accueil,

ma vue index c'est ma liste contenant les liens de mes articles et quand je clique sur un lien et bah me ramène sur une page .../guide/(id) avec l'id de l'article en question

Voici le contenu de mon public :

On y retrouvera mon dossier "images" avec toute les images de mes articles et un dossier "img" contenant par exemple le logo du site etc, etc...

Image

Pour info j'ai un dossier "assets" à la racine qui a été créer automatique mais que je n'utilise pas, il est vide... En cours j'ai appris qu'il fallait mettre les css, les js et les images dans le dossier public... Au début cela ne m'a pas poser probleme car tout mes uploads rentre bien dans le dossier et son visible même dans mon Dashboard de EasyAdmin quand j'appuie sur "view" et aussi en BDD, il récupère bien le nom et tout le reste...

Eléphant du PHP | 74 Messages

02 avr. 2024, 20:58

et en changeant l'url d'un article pour passer de
/guide/96
à
/guide-96
?

J'ai essayé 92,96 etc... les ids existants

Image

Mammouth du PHP | 2703 Messages

02 avr. 2024, 21:00

il faut changer la route pour passer du / au -

Eléphant du PHP | 74 Messages

02 avr. 2024, 21:07

Mais je n'ai aucune route avec un tiret de la sorte (-), tu penses que c'est ça le problème ?

Mammouth du PHP | 2703 Messages

02 avr. 2024, 21:10

avec un / c'est comme s'il y avait un répertoire, donc cela cherche l'image dans guide/assets/...
sans le / mais un -, dans assets/...

Eléphant du PHP | 74 Messages

02 avr. 2024, 21:16

Ahhhhh ok je comprends ok, ok quand je rajoute un "/" avant le assets logiquement y'a un répertoire avant le assets, si j'ai bien compris. Je suis d'accord avec toi, après le "/" c'est sûrement pas la solution. J'ai mis ça par hasard et j'ai vu que cela s'afficher...

Eléphant du PHP | 74 Messages

04 avr. 2024, 13:08

Si quelqu'un à une idée... Ou peut-être une hypothèse sur mon problème... Je veux bien s'il vous plaît... :cry:

Avatar du membre
Mammouth du PHP | 1609 Messages

04 avr. 2024, 14:13

Coucou semsem,

Si j'ai bien vu parce que y a plein de pages... la balise image est enregistrée en dur dans le contenu de l'article, donc j'imagine que c'est le contenu du champs tinymce. Et la dedans le chemin relatif n'est pas bon, il faut utiliser le chemin absolu.

Donc à priori suffirait juste de voir au niveau de tinymce comment lui dire d'utiliser un chemin absolu et non relatif.

Le pourquoi du / nécessaire, je sais pas si on te l'a expliqué mais quand le chemin est relatif (sans le / au début) le navigateur part du dernier dossier de l'url de la page. Donc si tu es sur du /guide/1, l'image sera /guide/asset/... sauf si tu ajoutes le / au début du src de l'image ou du coup ça sera bien /asset/...

Déjà à la bourrin un replace twig de 'img src="asset' par du 'img src="/asset' sur le contenu de l'article à son affichage devrait permettre l'affichage de l'image.
A voir pour la racine du problème, ça serait pour moi à priori un règlage dans tinymce pour qu'il mette bien un chemin absolu /asset/... et non le chemin relatif asset/....


PS : avec une recherche google j'ai trouvé ça https://stackoverflow.com/questions/379 ... lative-one pour la configuration tinymce.
https://www.tiny.cloud/docs/configure/url-handling/

A noter que ça ne va pas corriger les données déjà enregistrées en base. Le replace twig devrait être un palliatif pour ce qui est déjà enregistré. Mais tu peux toujours faire un petit script qui corrige les données déjà enregistrées. Ou peut être juste éditer les articles dans ton interface d'édition une fois la configuration tinymce modifiée.

PPS : je rajoute que l'url pour le navigateur c'est comme un chemin de fichier, ou chaque / sépare un dossier, peu importe que le chemin soit réel (avec des vrais dossiers derrière) ou fictif (avec par exemple une réécriture d'url).
Chemin relatif, il part du dernier / de l'url de la page ;
Chemin absolu, il part du nom de domaine.
Développeur web depuis + de 20 ans

Eléphant du PHP | 74 Messages

09 avr. 2024, 10:35

Merci beaucoup Saian, j'ai réussi ! Encore une fois tu me sauves la vie !!!