UrlTo

De Sydonie

La fonction "urlTo" retourne une url pour exécuter une action donnée d'un package de Sydonie. Cette url a vocation a être passé en attribut des balises html de votre choix. Nous vous conseillons cependant d'utiliser la fonction linkTo qui vérifie également les droits d'accès au package et à l'action pour l'utilisateur, qu'il soit connecté ou non.

Dans l'exemple suivant, la fonction "urlTo" retourne l'url vers l'action "view" de l'objet $obj.

 $url = urlTo($obj, 'view');

Paramètres

la fonction urlTo prend trois arguments

Premier argument (obligatoire) : Le premier argument peut être :

 - une instance d'une classe qui dérive de SydonieEntity ;
 - un identifiant d'objet
 - un alias
 - un type de document (key) accepté par l'application (cf. config_keys de l'application)
 - le nom complet d'une classe (à éviter, utiliser les clés)
 $url = urlTo('monAlias', 'view');

Second argument (facultatif) : Le second argument indique l'action qui doit être menée sur la classe ou l'instance qui fait l'objet du premier paramètre.

Si rien n'est indiqué (valeurs ou null) le lien est réalisé sur l'action par défaut associée soit à la classe, soit à l'instance (ces actions par défault sont définies dans les fichiers actions.xml des classes correspondante)

Troisième argument (optionnel) :

Cette méthode accepte un tableau associatif en tant que troisième argument optionnel pour ajouter des informations à l'URL.

Dans l'exemple suivant, le troisième argument permet de former une url ayant des paramètres GET.

 $url = urlTo('SydonieDocument_Article', 'new', array(
   'GET' => array('foo' => 42, 'bar'=>53)
 ));

L'url retournée par la fonction sera de la forme '.../article/new?foo=42&bar=53'

Un tableau à plusieurs dimension peut être fourni comme paramètre au 'GET' de la fonction urlTo.

 $url = urlTo('SydonieDocument_Article', 'new', array(
   'GET' => array(
      'foo' => array(
         'bar' => 42,
         'boo' => 53
       ),
      'bar' => 53
    )
 ));

L'url retournée par la fonction sera alors '.../article/new?foo[bar]=42&foo[boo]=53&bar=53'

Le tableau suivant illustre les clés/valeurs acceptées au sein du troisième argument optionnel :

Tableau des paramètres optionnelles acceptées par la fonction
Clé Type Valeur
GET array un tableau associatif clés/valeurs des arguments GET à passer à l'action
POST array un tableau associatif clés/valeurs des arguments POST à passer à l'action
format string le format de sortie désiré
terminal string le type de terminal en usage
path string le chemin demandé
language string le code de la langue demandé (ISO 2 caractères)

Notons que certaines de ces clés peuvent être ignorées, comme c'est le cas de la clé "POST".