web-dev-qa-db-fra.com

Comment fonctionnent les modèles et chargent les fichiers css / js? Processus de création de site Web avec Purity III

Malheureusement, je ne trouve aucune information sur le fonctionnement réel du modèle de pureté iii.

Je dois présenter mon site demain et on peut me demander "d'où vient le contenu?" et je ne peux pas répondre à cette question, car je ne l’ai pas moi-même.

  1. Que se passe-t-il si j'appelle le site? Dans le index.php fichier il y a du code php, mais je ne trouve pas l'endroit où le reste du site est "appelé" ou quelque chose du genre.
  2. Je ne sais pas comment le css/less est intégré et le processus ne s’inscrit que partiellement après le chargement initial et le chargement des blocs par les tpl ...

J'ai personnalisé le site Web et l'ai terminé. C'est le processus derrière que je ne reçois pas. S'il vous plaît aidez-moi, je n'ai pas beaucoup de temps jusqu'à demain.

1
Matthias94

Votre question comprend deux questions, qui sont trop larges pour être expliquées en détail ici. De plus, il semble que vous ayez à combler un grand manque de connaissances.

1. Que se passe-t-il si j'appelle le site? Dans le fichier index.php se trouve le code php mais je ne trouve pas l’endroit où le reste du site Web est "appelé" ou quelque chose du genre.

Répondre:

Cette question ne concerne pas le modèle Purity, mais le fonctionnement de Joomla.

J'ai créé un nouveau Q/A ici, alors lisez-le ici: Quel est le flux d'exécution de Joomla, après une requête sur index.php jusqu'à la sortie finale sur le navigateur?


2. Je n'ai aucune idée de la manière dont les fichiers css/less sont intégrés et je ne parviens que partiellement au processus après le chargement initial et le chargement des blocs par les TPL.

Répondre:

À propos des modèles et des cadres

modèle Purity III est un modèle Joomla construit sur Cadre T3 par JoomlArt .

T3 Framework est un plug-in système qui fournit son propre "environnement" et toutes les fonctionnalités de base de tous les modèles t3. C'est le cas avec la plupart des frameworks de templates. Il existe une base de fonctionnalités et de fonctionnalités préconçues, que les modèles utilisent, développent ou remplacent.

Les modèles Joomla sont responsables de la mise en page et de l'apparence du site Web. Bien qu’il ne s’agisse pas d’un sujet aussi avancé, il nécessite quelques connaissances en php , html et l'API Joomla , entre autres.
Si vous lisez la réponse à votre première question sur le flux d’exécution de Joomla, vous aurez quelques informations de base. idée du fait qu’à un moment donné au cours de l’exécution de Joomla, il commence à mettre le contenu dans un tampon de mémoire (le Document) destiné à la sortie finale.

Au cours de cette procédure, les différents éléments comme le <head>, Le contenu, etc. sont définis et placés dans un tableau de données. Les diverses extensions, y compris les modèles, interfèrent avec les données de ce document et ajoutent leurs propres données.

En particulier en ce qui concerne .css/.js les fichiers qui vous intéressent, un modèle utilisera un code spécial disponible à partir de l'API Joomla pour insérer ses ressources. fichiers à la partie principale du document qui sera imprimé sur le navigateur.

Modèles Joomla communs

Par exemple, le code extrait ci-dessous est utilisé dans le modèle Protostar pour ajouter le cadre de Boostrap actifs, une coutume template.js et une coutume template.css fichier à la tête.

$doc= JFactory::getDocument();
// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/template.js');

// Add Stylesheets
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/template.css');

Généralement, dans les modèles courants ou simples, tout ce code est écrit à l'intérieur du index.php du modèle. Cependant, dans les modèles plus avancés et ceux qui sont construits sur une structure, les choses ne sont pas aussi simples.

Pureté T3 façon

Comme cela a été dit, les modèles de framework utilisent des fonctionnalités héritées de leurs frameworks.

Par exemple, voici comment Purity III gère la partie <head> et charge ses fichiers d’actifs (css/js):

Les modèles T3 créent des présentations à l'aide des tpl, qui chargent à leur tour des blocs spécifiques (templates/purity_iii/tpls/blocks). Si vous ouvrez l’un de ces fichiers .php Layouts Layouts, par exemple: blog.php vous verrez:

<head>
    <jdoc:include type="head" />
    <?php $this->loadBlock('head') ?>
    <?php $this->addCss('layouts/blog') ?>
</head>

Donc, à ce stade, nous voyons:

  1. le modèle crée l'élément <head>.
  2. il inclut et rend les données de tête de la mémoire de Document - read Instructions Jdoc
  3. Il utilise une méthode de structure loadBlock(); pour charger un bloc spécifique - le bloc head.php. Après le bloc blocks/head.php, nous voyons:

    • Un tas de code qui ajoute des éléments supplémentaires de façon conditionnelle dans le <head> (Métas, scripts, etc.).
    • addStyleSheet() méthodes qui ajoutent plus de fichiers css.
    • La méthode d'un autre cadre, addHead(), continuera d'ajouter ponctuellement plus d'actifs à la tête. Vous pouvez voir ce que fait la méthode addHead() à plugins/system/t3/includes/core/template.php. Recherchez la définition de la fonction addHead().
  4. Il utilise une méthode de structure addCss(); pour ajouter des styles spéciaux relatifs à cette présentation.

Une grande partie du comportement final est contrôlée par les paramètres de l’administrateur du modèle.

Généralement, un propriétaire/gestionnaire/concepteur de site et même les développeurs n'ont pas besoin de savoir comment tout fonctionne et comment il est développé. Ils ont seulement besoin de savoir ce qui fonctionne et comment l'utiliser, chacun de leur point de vue.

La documentation est donc le premier endroit à regarder.

Pour qu'un utilisateur débutant connaisse les bases du développement de modèles et de modèles Joomla, il est préférable d’utiliser des modèles simples et courants. Par exemple. Fourchez le modèle Protostar en le clonant puis lancez la personnalisation.

Encore une fois, la connaissance de PHP et autres langues est essentielle.

2
FFrewin