web-dev-qa-db-fra.com

Quelle est l'utilisation des variables actives Joomla 3 définies dans le modèle protostar?

Je veux apprendre à développer des modèles Joomla 3. En regardant le code dans le modèle protostar, il y a un problème pour moi. Je ne sais pas quelle est l'utilisation des variables actives:

/

/ Detecting Active Variables
$option   = $app->input->getCmd('option', '');
$view     = $app->input->getCmd('view', '');
$layout   = $app->input->getCmd('layout', '');
$task     = $app->input->getCmd('task', '');
$itemid   = $app->input->getCmd('Itemid', '');
$sitename = $app->get('sitename');
2
Ehsan abbasi

Ces variables ont été ajoutées en haut de l'index index.php , ce qui permet aux développeurs d'attribuer les variables à des éléments HTML, principalement le <body> tag, et appliquant ainsi un style à chaque élément dans une vue.

Voici un exemple:

Variables:

<?php
  $option   = $app->input->getCmd('option', '');
  $view     = $app->input->getCmd('view', '');
  $layout   = $app->input->getCmd('layout', '');
  $task     = $app->input->getCmd('task', '');
  $itemid   = $app->input->getCmd('Itemid', '');
?>

Body Tag:

<body class="site <?php echo $option
    . ' view-' . $view
    . ($layout ? ' layout-' . $layout : ' no-layout')
    . ($task ? ' task-' . $task : ' no-task')
    . ($itemid ? ' itemid-' . $itemid : '');
?>">

Maintenant, si vous affichez la page d'accueil de mon site Joomla nouvellement installé, vous verrez quelque chose comme le balisage suivant dans l'inspecteur de votre navigateur:

<body class="site com_content view-category layout-blog no-task itemid-101">

Si vous allez sur la page de connexion de Joomla, vous verrez quelque chose comme ceci:

<body class="site com_users view-login no-layout no-task itemid-115">

Disons maintenant que, pour un exemple très basique, vous vouliez un fond blanc sur la page d'accueil mais un fond noir sur la page de connexion, vous pouvez simplement ajouter ce qui suit à votre fichier CSS:

body.com_content {
    background: #FFF;
}
body.com_users {
    background: #000;
}
3
Lodder