Objectif:
- appeler le SvgHandler pour insérer le SVG dans le corps d'une page
le code de l'action, appelée svgobject.php
<?php
$svg_uri = $this->config["base_url"].$this->getPageTag()."/svg&svg=reseaupagecourante";
$svg_object = " <object data=\"$svg_uri\" type=\"image/svg+xml\"
width=\"320\" height=\"240\">
</object>";
print($svg_object);
?>
ce qui doit placer une petite fenêtre de visualisation du SVG à l'endroit de l'appel de l'action : {{svgobject}}
--
YannLeGuennec
Voici du code permettant en outre de spécifier la taille de la fenêtre : {{svgobject width="600" height="300"}}.
<?php
/*$width="320"; $height="200";*/
/**/
if ($this->GetParameter("width"))
{
if(preg_match('/^[1-9][0-9]*(|\%)/', $this->GetParameter("width")))
{
$width = $this->GetParameter("width");
}
else
{
$width = "320";
}
}
else
{
$width = "320";
}
if ($this->GetParameter("height"))
{
if(preg_match('/^[1-9][0-9]*(|\%)/', $this->GetParameter("height")))
{
$height = $this->GetParameter("height");
}
else
{
$height = "200";
}
}
else
{
$height = "200";
}
/**/
$svg_uri = $this->config["base_url"].$this->getPageTag()."/svg&svg=reseaupagecourante";
$svg_object = "<object data=\"$svg_uri\" type=\"image/svg+xml\"
width=\"$width\" height=\"$height\">
</object>";
print($svg_object);
?>
Le code est encore un peu sale... et je cherche encore le moyen de voir marcher des pourcentages (à suivre).
Cf.
http://www.wikini.net/dev/wakka.php?wiki=BacASable (cassé)
--
CharlesNepote
super, + j'ai lu quelquepart que le SVG dans un élément object plante Safari sur Mac. Peut-être qu'il faudrait prévoir un paramètre pour choisir entre:
- affichage avec OBJECT
- affichage avec EMBED
- affichage d'un simple lien HTML vers le SVG pleine fenêtre
On pourrait alors affiner les valeurs possibles du paramètre en précisant par exemple:
- type="object_fixed" ou type="object_relative" (pour des valeurs de width et height en pourcentage) ou type="embed_relative" ou .... ?
--
YannLeGuennec
Je vais regarder la différence entre EMBED et OBJECT.
On peut aussi ajouter un paramètre
page="TellePage?" afin de pouvoir afficher les cartographies d'autres pages dans une page donnée ; ce paramètre serait optionnel, la page par défaut étant naturellement la page courante. (Je vais m'en occuper.)
--
CharlesNepote
Si je me souviens bien EMBED est un tag abandonné qui devait être utilisé par Netscape 4.x. En tout cas je ne l'ai pas dans ma liste des tags Html 4.01 de la
. --
JmPhilippe
rajouté morceau d'url (sous-handler en parametre)
-- yann