feedback

.: Obtention  et assignation de thème sur une page :.

Généralement, les thèmes seront assignés au page depuis le tableau de bord de Concrete, ou depuis le bouton design de la bare d'édition.

Cependant, il y à d'autres moyens d'assigner un thème à une page (comme nous l'avons vu dans l'article des assignations par les chemins.)

Voici toutes les façons dont un thème peut être assigné. La liste des éléments suivants est ordonnées selon les priorités, le début de la liste à une priorité plus haute que le fin de la liste:

Utilisation de $v->setTheme()

Le contenu du fichier /tools/upgrade.php est un bon exemple pour explique le fonctionnement.

 

  • La ligne 1 saisie l'instance en cours de la vue de l'objet ('est généralement de cette façon que l'on récupère la vue courante d'un objet.).
  • La ligne 2 règle le thème de cette vue sur le thème core concrete.
  • Enfin, la ligne 3 affiche le rendu de la page /upgrade avec le thème concrete.

     Les classes de rendu trouvent /concrete/single_pages/upgrade.php et l'affiche avec le rendu du thème concrete. Si ce thème n'est pas spécifié, le rendu devrait s'effectuer avec le thème par défaut du site web.

Lecture des variables publiques du "thème" depuis le contrôleur

     Fondamentalement, si un contrôleur, pour une page seule ou page type particulière, contient la variable publique $theme, ou si une méthode particulière dans le contrôleur place cette variable de thème pour une vue particulière, le rendu de cette page sera effectuée selon celui de ce thème.

Utilisation de la directive theme_paths

     Ensuite, si une page particulière correspond à une page liée à un thème particulier par theme_paths.php ou site_theme_paths.php, le thème particulier en question sera utilisé.

Obtenir le thème depuis un enregistrement de page

     Ici, si aucun des objets précédent n'a déterminé de thème pour la page, nous regardons sur la page elle même.

Cette page a-t-elle un thème qui lui est directement attachée ?

Cela serait possible si:

  • La page a un thème qui lui a été assigné lors de sa conception (son codage)
  • La page à été ajoutée sous une autre page qui a déjà un thème (héritant de ce fait du thème du parent).

Dans tous les cas, nous utilisons ce thème pour cette page.

Obtenir le thème depuis la page d'accueil

     Si la page actuelle à une ID de thème égale à zéro qui lui est assigné depuis la base de données (ce qui signifie en clair qu'elle n'a pas de thème spécifiquement assigné) alors nous allons chercher le thème depuis celui de la page d'accueil du site.

     Ce thème est assigné lors de l'installation, donc la page de garde de votre site à au moins toujours un thème qui lui est propre et définit.