13.4.7 Application::getCSSLink
Récupérer le lien de téléchargement (URL) d'une feuille de style CSS.
13.4.7.1 Description
string getCSSLink ( string $ref [, bool $needparse = false [, string $packName = '']] )
Permet de retourner le lien de téléchargement (URL) d'une feuille de style CSS servie par Dynacase avec gestion de la version du cache (Voir [Notes](#core-ref :9C309FEA-C54A-48C3-AD9C-03F20D532D1D)).
13.4.7.2 Avertissements
N/A
13.4.7.3 Liste des paramètres
- (string)
ref
- La référence à la feuille de style CSS.
La référence peut être : un chemin d'accès relatif au contexte Dynacase (ex.
MY_APP/Layout/my_css.css
,my_css.css
), un chemin d'accès relatif au répertoireLayout
du style actuellement appliqué, un chemin d'accès relatif au répertoireLayout
de l'application courante ou d'une application particulière (ex.MY_APP:my_css.css
), une URL (ex.http://www.example.net/my_css.css
). - (bool)
needparse
- Permet d'indiquer si le contenu de la feuille de style doit être interprété comme un template.
- (string)
packName
- Les feuilles de style peuvent être concaténées afin de réduire le nombre de
fichiers chargés par le client. Dans ce cas, toutes les feuilles de style
ajoutées avec un même identifiant
packName
seront concaténées pour ne donner qu'un seul fichier à charger. DespackName
différents peuvent être utilisés pour faire des groupes de feuilles de style qui seront servis chacun dans un fichier unique et distinct parpackName
.
13.4.7.4 Valeur de Retour
La méthode retourne une chaîne de caractère non vide avec le lien de téléchargement de la feuille de style CSS ajoutée, ou une chaîne de caractère vide si l'emplacement de la feuille de style n'est pas valide.
13.4.7.5 Erreurs / Exceptions
N/A
13.4.7.6 Historique
N/A
13.4.7.7 Exemples
- Exemple #1
Feuille de style CSS MY_APP/Layout/css_1.css
:
.question { color: blue; voice-family: Bridgekeeper, male; }
Contrôleur de l'action MY_ACTION
(my_action.php
) :
function my_action(Action &$action) { /* Get the Application of the current Action */ $application = $action->parent; $cssLink = $application->getCSSLink('MY_APP/Layout/css_1.css'); $action->lay->set('CSS_LINK', htmlspecialchars($cssLink)); }
Vue de l'action MY_ACTION
(Layout/my_action.xml
) :
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My Action</title> <link rel="stylesheet" type="text/css" href="[CSS_LINK]" /> </head> <body> <h1 class="question">What is your favourite colour?</h1> </body> </html>
Résultat du rendu de la vue de l'action :
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My Action</title> <link rel="stylesheet" type="text/css" href="MY_APP/Layout/css_1.css?wv=4253" /> </head> <body> <h1 class="question">What is your favourite colour?</h1> </body> </html>
13.4.7.8 Notes
- Les feuilles de style ajoutées via cette méthode seront servies avec une directive indiquant au client de mettre en cache le résultat obtenu et minimiser ainsi les requêtes au serveur.
- L'expiration de la mise en cache est gérée via un argument
wv=<version>
dont le numéro de version est incrémenté à chaque mise à jour d'un module. - Les
packName
sont composés par utilisateur et sont mis en cache sur le navigateur de l'utilisateur : ils ne sont donc pas partagés et/ou mis en cache sur le serveur.