[Php/JS] Conflits pour une pop up...

Bonjour à tous.
Je suis en train d'essayer de modifier la contrib de mortimer, qui permet de
contrôler la taille des images dans un article
(http://www.spip-contrib.net/ecrire/articles.php3?id_article=251).

Je voudrais en effet que lorsque l'on clique sur l'image, au lieu que ce
soit la meme page qui affiche l'image, que ce soit une pop up redimensionnée
à la taille de l'image qui s'ouvre.

A la base, j'ai ce code la :

if($with_link) {
   $before = "<a href='IMG/".$img."'>";
   $after = "</a>";
  }

Tout ce passe donc dans le $before

J'ai regarder sur Openweb, j'arrive à ceci :

$before = "<a onclick='window.open(this.href); return false;'
href='IMG/".$img."'>";

La, la pop up marche, mais elle ne s'adapte pas à la taille de l'image. Je
peux renseigner ceci dans les options de la pop up qui marchent comme ceci :

window.open('URL', 'nom', 'options');

Mais probleme, des que je mets mon url entre " '...' ", la pop up ne marche
plus. En effet, car j'ai l'impression qu'il y a un conflit entre JS et Php.
Car normalement, si j'étais en html, je devrais avoir des guillemets avant
et non des apostrophes.

en html :
<a href="page.htm" onclick="window.open('URL', 'nom', 'options');">

Mais si je reproduit ce schéma en php, en remplacant donc les "" par des '
', cela ne marche pas.

Avez vous une idée pour faire marcher ceci ?

Je voudrais avoir :

$before = "<a onclick='window.open('this.href', 'image', 'height=100,
width=200'); return false;' href='IMG/".$img."'>";

De plus je cherche a avoir la largeur et la hauteur de l'image. Est ce bien
les variables : "$largeur_image" et "$hauteur_image" ? Est ce possible de
les intégrer telle quel ?

Merci de votre aide.

Bonjour,

il te faut echaper les "

$before = "<a onclick='window.open('this.href', 'image', 'height=100,
width=200'); return false;' href='IMG/".$img."'>";
renvoie:
<a onclick='window.open('this.href', 'image', 'height=100, width=200');
return false;' href='IMG/xx.gif'>

ta chaine doit etre

<a onclick="window.open('this.href', 'image', 'height=100, width=200');
return false;" href="IMG/xx.gif">
ou
<a onclick='window.open("this.href", "image", "height=100, width=200");
return false;' href='IMG/xx.gif'>
les 2 en HTML

donc

$before = "<a onclick=\"window.open('this.href', 'image', 'height=100,
width=200'); return false;\" href=\"IMG/".$img."\">";

ou

$before = "<a onclick='window.open(\"this.href\", \"image\", \"height=100,
width=200\"); return false;' href='IMG/".$img."'>";

de plus php remplace les variables dans les chaine séparer par "

donc ma synthaxe prefere:

$before = "<a onclick=\"window.open('this.href', 'image', 'height=100,
width=200'); return false;\" href=\"IMG/$img\">";

voila a+

"Saturne" <benjamin_nesme@hotmail.com> a écrit dans le message de
news:cce847$9vq$1@sea.gmane.org...

Bonjour à tous.
Je suis en train d'essayer de modifier la contrib de mortimer, qui permet

de

contrôler la taille des images dans un article
(http://www.spip-contrib.net/ecrire/articles.php3?id_article=251).

Je voudrais en effet que lorsque l'on clique sur l'image, au lieu que ce
soit la meme page qui affiche l'image, que ce soit une pop up

redimensionnée

à la taille de l'image qui s'ouvre.

A la base, j'ai ce code la :

if($with_link) {
   $before = "<a href='IMG/".$img."'>";
   $after = "</a>";
  }

Tout ce passe donc dans le $before

J'ai regarder sur Openweb, j'arrive à ceci :

$before = "<a onclick='window.open(this.href); return false;'
href='IMG/".$img."'>";

La, la pop up marche, mais elle ne s'adapte pas à la taille de l'image. Je
peux renseigner ceci dans les options de la pop up qui marchent comme ceci

:

window.open('URL', 'nom', 'options');

Mais probleme, des que je mets mon url entre " '...' ", la pop up ne

marche

plus. En effet, car j'ai l'impression qu'il y a un conflit entre JS et

Php.

Car normalement, si j'étais en html, je devrais avoir des guillemets avant
et non des apostrophes.

en html :
<a href="page.htm" onclick="window.open('URL', 'nom', 'options');">

Mais si je reproduit ce schéma en php, en remplacant donc les "" par des '
', cela ne marche pas.

Avez vous une idée pour faire marcher ceci ?

Je voudrais avoir :

$before = "<a onclick='window.open('this.href', 'image', 'height=100,
width=200'); return false;' href='IMG/".$img."'>";

De plus je cherche a avoir la largeur et la hauteur de l'image. Est ce

bien

les variables : "$largeur_image" et "$hauteur_image" ? Est ce possible de
les intégrer telle quel ?

Merci de votre aide.

----------------------------------------------------------------------------
----

Merci,

$before = "<a onclick=\"window.open('this.href', 'image', 'height=100,
width=200'); return false;\" href=\"IMG/".$img."\">";

marche très bien :slight_smile:

Je me demande maintenant comment obtenir les dimensions de l'images.
Les critères #HAUTEUR et #LARGEUR ne marchent, logiquement, pas directement.

Avez vous une idée ?

Merci à tous.

"GaRy de la Mer" <gary.de.la.mer@wanadoo.fr> a écrit dans le message de
news:ccejmb$eir$1@sea.gmane.org...

Bonjour,

il te faut echaper les "

$before = "<a onclick='window.open('this.href', 'image', 'height=100,
width=200'); return false;' href='IMG/".$img."'>";
renvoie:
<a onclick='window.open('this.href', 'image', 'height=100, width=200');
return false;' href='IMG/xx.gif'>

ta chaine doit etre

<a onclick="window.open('this.href', 'image', 'height=100, width=200');
return false;" href="IMG/xx.gif">
ou
<a onclick='window.open("this.href", "image", "height=100, width=200");
return false;' href='IMG/xx.gif'>
les 2 en HTML

donc

$before = "<a onclick=\"window.open('this.href', 'image', 'height=100,
width=200'); return false;\" href=\"IMG/".$img."\">";

ou

$before = "<a onclick='window.open(\"this.href\", \"image\",

\"height=100,

width=200\"); return false;' href='IMG/".$img."'>";

de plus php remplace les variables dans les chaine séparer par "

donc ma synthaxe prefere:

$before = "<a onclick=\"window.open('this.href', 'image', 'height=100,
width=200'); return false;\" href=\"IMG/$img\">";

voila a+

"Saturne" <benjamin_nesme@hotmail.com> a écrit dans le message de
news:cce847$9vq$1@sea.gmane.org...
> Bonjour à tous.
> Je suis en train d'essayer de modifier la contrib de mortimer, qui

permet

de
> contrôler la taille des images dans un article
> (http://www.spip-contrib.net/ecrire/articles.php3?id_article=251).
>
> Je voudrais en effet que lorsque l'on clique sur l'image, au lieu que ce
> soit la meme page qui affiche l'image, que ce soit une pop up
redimensionnée
> à la taille de l'image qui s'ouvre.
>
> A la base, j'ai ce code la :
>
> if($with_link) {
> $before = "<a href='IMG/".$img."'>";
> $after = "</a>";
> }
>
>
> Tout ce passe donc dans le $before
>
> J'ai regarder sur Openweb, j'arrive à ceci :
>
> $before = "<a onclick='window.open(this.href); return false;'
> href='IMG/".$img."'>";
>
> La, la pop up marche, mais elle ne s'adapte pas à la taille de l'image.

Je

> peux renseigner ceci dans les options de la pop up qui marchent comme

ceci

:
>
> window.open('URL', 'nom', 'options');
>
> Mais probleme, des que je mets mon url entre " '...' ", la pop up ne
marche
> plus. En effet, car j'ai l'impression qu'il y a un conflit entre JS et
Php.
> Car normalement, si j'étais en html, je devrais avoir des guillemets

avant

> et non des apostrophes.
>
> en html :
> <a href="page.htm" onclick="window.open('URL', 'nom', 'options');">
>
> Mais si je reproduit ce schéma en php, en remplacant donc les "" par des

'

> ', cela ne marche pas.
>
> Avez vous une idée pour faire marcher ceci ?
>
> Je voudrais avoir :
>
> $before = "<a onclick='window.open('this.href', 'image', 'height=100,
> width=200'); return false;' href='IMG/".$img."'>";
>
> De plus je cherche a avoir la largeur et la hauteur de l'image. Est ce
bien
> les variables : "$largeur_image" et "$hauteur_image" ? Est ce possible

de

> les intégrer telle quel ?
>
> Merci de votre aide.
>
>
>
>
>
>
>
>

--------------------------------------------------------------------------

--

----

----------------------------------------------------------------------------
----