UrlTo
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 :
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".