[SPIP 4.0][Medias] Le modèle image n’utilise pas la vignette personnalisée #4855

Open
opened 1 year ago by equipement · 4 comments

Bonjour,
Sous SPIP 4.0, lorsque j’ajoute une image (de 1000 pixels de large), avec une vignette personnalisée (d’une largeur inférieure à 500 pixels), à un article puis que j’insère le raccourci doc… dans le texte de l’article, la vignette personnalisée n’est pas affichée dans le texte de l’article (ni dans l’espace privé, ni sur le site public avec squelettes-dist). C’est une version réduite de l’image qui est affichée au lieu de la vignette personnalisée (avec un lien vers l’image en taille native).
Cordialement
Equipement

Bonjour, Sous SPIP 4.0, lorsque j’ajoute une image (de 1000 pixels de large), avec une vignette personnalisée (d’une largeur inférieure à 500 pixels), à un article puis que j’insère le raccourci doc… dans le texte de l’article, la vignette personnalisée n’est pas affichée dans le texte de l’article (ni dans l’espace privé, ni sur le site public avec squelettes-dist). C’est une version réduite de l’image qui est affichée au lieu de la vignette personnalisée (avec un lien vers l’image en taille native). Cordialement Equipement
b_b added the
bug
label 1 year ago
b_b added this to the spip-4.0 milestone 1 year ago
b_b commented 1 year ago
Owner

C'est un effet de bord de la refonte des modèles de documents et surtout de la simplification d'usage qui supprime la distinction par mode document VS image. En SPIP 3, une image appelée en mode document utilisait #LOGO_DOCUMENT alors qu'en SPIP 4 c'est toujours l'image originale qui est utilisée pour générer sa vignette.

C'est un effet de bord de la refonte des modèles de documents et surtout de la simplification d'usage qui supprime la distinction par mode document VS image. En SPIP 3, une image appelée en mode document utilisait `#LOGO_DOCUMENT` alors qu'en SPIP 4 c'est toujours l'image originale qui est utilisée pour générer sa vignette.
b_b commented 1 year ago
Owner

Le patch suivant permettrait de rétablir l'usage de la vignette pour les images, à discuter avant d'envoyer une PR.

diff --git a/modeles/image.html b/modeles/image.html
index f79fadc..af590a2 100644
--- a/modeles/image.html
+++ b/modeles/image.html
@@ -6,8 +6,8 @@
 <BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}>
 [(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})]
 [(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{
-		[(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
-		[<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})]
+		[(#LOGO_DOCUMENT{vignette}|sinon{#FICHIER}|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
+		[<img src='(#LOGO_DOCUMENT{vignette}|extraire_attribut{src}|sinon{#URL_DOCUMENT})'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})]
 [(#SET{image,#GET{image}|inserer_attribut{alt,#ENV{alt,#ALT}|sinon{''}}})]
 [(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})]
 #SET{largeur,#GET{image}|largeur}
Le patch suivant permettrait de rétablir l'usage de la vignette pour les images, à discuter avant d'envoyer une PR. ```diff diff --git a/modeles/image.html b/modeles/image.html index f79fadc..af590a2 100644 --- a/modeles/image.html +++ b/modeles/image.html @@ -6,8 +6,8 @@ <BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}> [(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})] [(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{ - [(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})], - [<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})] + [(#LOGO_DOCUMENT{vignette}|sinon{#FICHIER}|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})], + [<img src='(#LOGO_DOCUMENT{vignette}|extraire_attribut{src}|sinon{#URL_DOCUMENT})'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})] [(#SET{image,#GET{image}|inserer_attribut{alt,#ENV{alt,#ALT}|sinon{''}}})] [(#SET{legende,#INCLURE{fond=modeles/document_legende, env}|trim})] #SET{largeur,#GET{image}|largeur} ```
Poster

Dans le cas suivant :

  • une image de 991 × 964 pixels
  • une vignette de 273 x 184 pixels

Avec le patch, dans l'espace privé, la vignette s'affiche en haut à gauche (en 140 x 95 pixels environ) d'un rectangle noir de 500 x 486 pixels (cf. copie d'écran ci-jointe).

Dans le cas suivant : - une image de 991 × 964 pixels - une vignette de 273 x 184 pixels Avec le patch, dans l'espace privé, la vignette s'affiche en haut à gauche (en 140 x 95 pixels environ) d'un rectangle noir de 500 x 486 pixels (cf. copie d'écran ci-jointe).
Poster

Avec le patch ci-dessous, je n'ai pas le problème cité dans mon commentaire précédent :

--- a/modeles/image.html
+++ b/modeles/image.html
@@ -4,13 +4,29 @@
 
 ]
 <BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}>
+[(#SET{logo,#LOGO_DOCUMENT{vignette}})]
+
+[(#GET{logo}|non)
 [(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})]
+    [(#SET{fichier,[(#FICHIER)]})]
+    [(#SET{width,[(#LARGEUR)]})]
+    [(#SET{height,[(#HAUTEUR)]})]
+]
+
+[(#GET{logo}|oui)
+    [(#SET{autolien,'oui'})]
+    [(#SET{fichier,[(#GET{logo}|extraire_attribut{src})]})]
+    [(#SET{width,[(#GET{logo}|extraire_attribut{width})]})]
+    [(#SET{height,[(#GET{logo}|extraire_attribut{height})]})]
+]
+
 [(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{
-		[(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
-		[<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})]
+                [(#GET{fichier}|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})],
+                [<img src='(#GET{fichier})'[ width="(#GET{width})"][ height="(#GET{height})"]/>]})]})]
Avec le patch ci-dessous, je n'ai pas le problème cité dans mon commentaire précédent : ```diff --- a/modeles/image.html +++ b/modeles/image.html @@ -4,13 +4,29 @@ ] <BOUCLE_image (DOCUMENTS) {media=image} {id_document=#ENV{id,#ENV{id_document}}} {inclus=image} {mode?} {tout}> +[(#SET{logo,#LOGO_DOCUMENT{vignette}})] + +[(#GET{logo}|non) [(#SET{autolien,#LARGEUR|>={800}|ou{#HAUTEUR|>={800}}|oui})] + [(#SET{fichier,[(#FICHIER)]})] + [(#SET{width,[(#LARGEUR)]})] + [(#SET{height,[(#HAUTEUR)]})] +] + +[(#GET{logo}|oui) + [(#SET{autolien,'oui'})] + [(#SET{fichier,[(#GET{logo}|extraire_attribut{src})]})] + [(#SET{width,[(#GET{logo}|extraire_attribut{width})]})] + [(#SET{height,[(#GET{logo}|extraire_attribut{height})]})] +] + [(#SET{image,[(#ENV{largeur}|ou{#ENV{hauteur}}|?{ - [(#FICHIER|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})], - [<img src='(#URL_DOCUMENT)'[ width="(#LARGEUR)"][ height="(#HAUTEUR)"]/>]})]})] + [(#GET{fichier}|image_reduire{#ENV{largeur,10000},#ENV{hauteur,10000}})], + [<img src='(#GET{fichier})'[ width="(#GET{width})"][ height="(#GET{height})"]/>]})]})] ```
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.