[réglé] Précision sur les "mosCountModules"

Support et assistance sur les templates Joomla! 1.0.x, design html et css.

Moderators: Aidan38, sarki

Forum rules
Règles du forum
Locked
User avatar
Bigjoom
Joomla! Apprentice
Joomla! Apprentice
Posts: 22
Joined: Mon Oct 22, 2007 1:22 am
Location: Montréal, Québec, Canada

[réglé] Précision sur les "mosCountModules"

Post by Bigjoom » Mon Oct 22, 2007 2:41 am

Bonjour,

Étant donné que c’est mon tout premier message, je fais une courte présentation…

Cela fait deux semaine que j’ai découvert et que je bidouille avec Jommla 1.0.13
Ma découverte des CSM ouvre un monde de possibilité à mes yeux  :)

J’avais déjà certaines bases html et CSS, j’ai débuté en 1998 avec « Netscape Composer », « Frontpage express », « Dreamweaver » etc… mais vers 2002 j’ai cessé de faire des sites web. Ne connaissant pas les CSM, je me demandais à l’occasion comment il était possible de gérer les énormes sites dynamiques que je voyais sur le web de nos jours, je me disait, « comment font-ils pour updater chaque page, etc »  Maintenant que je m’y suis remis, je comprends comment fonctionne les sites dynamiques et leur gestion via une interface « backend » etc..
(et l’auto-génération des pages via le serveur PHP. etc)

C’est super et Joomla est le plus simple CSM et le plus puissant que j’ai essayé depuis quelques mois (à mon avis arbitraire)  ;)

Où j’en suis à ce jour :
1-Installations manuel sans aucun problème sur un hébergement payant
2-Prit connaissance de la gestion des attributs chmod des fichiers, du fichier htaccse, du backend, de la gestion, etc..
3-Étude de différents templates, du code html/php et CSS, etc
4-Début de conception de mon propre template

Bon, pour ce qui est du backend et du panneau d’administration de Joomla, j’ai pigé 95% des fonctions, j’assimile très vite.

Enfin, voici  les questions d’ont je n’ai pas trouver de réponse à ce jour…

Pour placer un module, j’ai saisi que je n’ai qu’à inclure ce code au travers mon code html dans le fichier PHP :



…mais je remarque aussi que certains templates utilisent parfois ce code suivant :

0) mosLoadModules('nommodule',-2); ?>

Bon je saisis que le “if” est conditionnel, mais je ne remarque pas de différence si j’utilise l’un ou l’autre de ces deux codes
(je ne parle pas des styles 0,1,-1,-2 et -3, ça, j'ai lu à ce sujet dans un tuto pour la différence horizontale, verticale, h3 etc)
je parle de la condition « if » précisement

Quel est la différence effective de l’un par rapport à l’autre ?
Dans quel cas de situation l’un est préférable à l’autre ?

Deuxième question….

Il y a parfois une autre variante de code que j’observe à l’occasion :



Bon, encore le conditionnel "if", mais en plus on fait référence à un autre fichier .php !

Donc, on peut référer à des fichiers PHP externe spécifique pour certain module ?

De plus, on peut loader 2 modules avec "&&" simultanement !?

Si vous voulez développer un peu S.V.P ?

Troisième question….

Dans certains templates je remarque que certains incluent ce code :



Je saisis que ce code génère automatiquement un bas-de-page avec certaines infos par défaut
Mais je remarque que certains autres templates n’utilisent pas ce dernier code et préfère ajouter leurs propres infos de façon manuelle comme ceci par exemple :

design by http://www.iboldesign.com

Donc, le premier code qui génère automatiquement le footer est facultatif ?
Aucune nécessité de l’inclure ?

Quatrième question…

Les premières lignes de code du fichier PHP débute généralement par :

';?>



Mais connaissant un peu le HTML, moi je suis habitué à inclure par exemple


[/color]

Pourquoi la partie (xml:lang="fr" lang="fr">) n’est pas incluse dans les template ?

Puis-je ajouter cette partie sans problême ?
(elle est utile pour spécifier au navigateur la langue du site pour les moteurs de recherche)

cinquième question….

À la suite d’un code « mosLoadModules », je remarque que certain template ajoutent :

else include_once(_TEMPLATE_PATH.'/css/bottom.css.php'); ?></

Est-ce que cela nous permet d’attribuer un fichier spécifique CSS pour chaque module ?
(c’est ce que j’en déduis!)

Mais dans ce cas, pourquoi utiliser ce procédé, n’est-il pas plus simple d’attribuer un suffixe CSS à chaque module?

Pourquoi, l’un, pourquoi, l’autre ?

Est-ce seulement des méthodes de travail différentes qui produisent le même résultat ?


Beaucoup de questions, mais ce sont des questions plutôt spécifiques qui se font plutôt rare sur les forums que j’ai parcouru

Merci d’avance
Last edited by Bigjoom on Mon Oct 22, 2007 9:58 pm, edited 1 time in total.
Bigjoom

User avatar
ouly
Joomla! Ace
Joomla! Ace
Posts: 1074
Joined: Sun Aug 21, 2005 9:18 pm
Contact:

Re: Précision sur les "mosCountModules"

Post by ouly » Mon Oct 22, 2007 5:34 pm

Bonjour Bigjoom,
Bienvenue sur ce forum !
Bigjoom wrote: Pour placer un module, j’ai saisi que je n’ai qu’à inclure ce code au travers mon code html dans le fichier PHP :



…mais je remarque aussi que certains templates utilisent parfois ce code suivant :

0) mosLoadModules('nommodule',-2); ?>

Bon je saisis que le “if” est conditionnel, mais je ne remarque pas de différence si j’utilise l’un ou l’autre de ces deux codes
(je ne parle pas des styles 0,1,-1,-2 et -3, ça, j'ai lu à ce sujet dans un tuto pour la différence horizontale, verticale, h3 etc)
je parle de la condition « if » précisement

Quel est la différence effective de l’un par rapport à l’autre ?
Dans quel cas de situation l’un est préférable à l’autre ?
Le deuxième code n'est d'aucune utilité tel qu'il est. Le but de la fonction mosCountModules() est de déterminer le nombre de modules qui vont être chargés à la position indiquée. Ceci permet d'ajouter des bouts de code spécifiques au template (pour un panneau latéral par exemple) :

Code: Select all

<?php if ( mosCountModules( 'position' ) { ?>
    <div id="bidule"><img src="" ... />
        <?php mosLoadModules( 'position', -2 ); ?>
    </div>
<?php } ?>
Bigjoom wrote: Deuxième question….

Il y a parfois une autre variante de code que j’observe à l’occasion :



Bon, encore le conditionnel "if", mais en plus on fait référence à un autre fichier .php !

Donc, on peut référer à des fichiers PHP externe spécifique pour certain module ?

De plus, on peut loader 2 modules avec "&&" simultanement !?

Si vous voulez développer un peu S.V.P ?
On peut inclure d'autres scripts PHP dans le template. Pour l'instant je n'en ai jamais vu l'intérêt/eu besoin. Il est probable qu'ils aient définis dans le template un chargeur de modules particulier... L'opérateur && n'est pas lié au template, il s'agit simplement d'un opérateur logique permettant de tester que deux conditions/expressions sont vérifiées. Dans le cas ci-dessus cela signifie faire quelque chose s'il y a à la fois des modules à afficher à la position user1 et à la position user2.
Bigjoom wrote: Troisième question….

Dans certains templates je remarque que certains incluent ce code :



Je saisis que ce code génère automatiquement un bas-de-page avec certaines infos par défaut
Mais je remarque que certains autres templates n’utilisent pas ce dernier code et préfère ajouter leurs propres infos de façon manuelle comme ceci par exemple :

design by http://www.iboldesign.com

Donc, le premier code qui génère automatiquement le footer est facultatif ?
Aucune nécessité de l’inclure ?
http://help.joomla.org/component/option,com_easyfaq/task,view/id,172/Itemid,268/ wrote:Can I remove the "Powered by Joomla!" message?

Yes. You may remove that message, which is in footer.php. You may not remove copyright and license information from the source code.
Donc aucune obligation d'inclure le fichier /includes/footer.php.
Bigjoom wrote: Quatrième question…

Les premières lignes de code du fichier PHP débute généralement par :

';?>



Mais connaissant un peu le HTML, moi je suis habitué à inclure par exemple


[/color]
Pour rester le plus souple possible, il vaut mieux utiliser getCfg( 'locale' ); ?> plutôt que directement fr. D'un point de vue sécurité, la ligne :

Code: Select all

<?php defined( '_VALID_MOS' ) or die( 'Restricted access' ); ?>
doit être placée dans tout fichier PHP utilisé conjointement avec Joomla!. Ensuite la ligne suivante :

Code: Select all

<?php $iso = explode( '=', _ISO, 2 ); echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';?>
défini le document comme une application XML, requis pour un document xHTML. Les détracteurs du xHTML diront que cela ne sert à rien de faire de l'xHTML si la page n'est pas servie correctement au navigateur, mais c'est une autre question  :P

A noter qu'il vaut mieux utiliser explode() que split() car split() travaille par expression régulière ce qui est totalement inutile dans le cas présent.
http://www.php.net/manual/fr/function.split.php wrote:Si vous n'avez pas besoin de la puissance des expressions rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas le moteur d'expressions rationnelles.
Bigjoom wrote: Pourquoi la partie (xml:lang="fr" lang="fr">) n’est pas incluse dans les template ?

Puis-je ajouter cette partie sans problême ?
(elle est utile pour spécifier au navigateur la langue du site pour les moteurs de recherche)
L'avantage avec les templates Joomla! est que l'on peut faire ce que l'on veut. N'oubliez pas ce principe : imposez la structure et Joomla! se débrouillera pour la remplir.

Bigjoom wrote: cinquième question….

À la suite d’un code « mosLoadModules », je remarque que certain template ajoutent :

else include_once(_TEMPLATE_PATH.'/css/bottom.css.php'); ?></

Est-ce que cela nous permet d’attribuer un fichier spécifique CSS pour chaque module ?
(c’est ce que j’en déduis!)

Mais dans ce cas, pourquoi utiliser ce procédé, n’est-il pas plus simple d’attribuer un suffixe CSS à chaque module?

Pourquoi, l’un, pourquoi, l’autre ?

Est-ce seulement des méthodes de travail différentes qui produisent le même résultat ?
Chacun à ses méthodes de travail, effectivement. En plus les méthodes évoluent au fil de l'apprentissage des problèmes rencontrés de développement et maintenance...

Si ce n'est pas déjà fait, je vous encourage à visiter le site : http://www.joomladraft.org/

Ouly

User avatar
Bigjoom
Joomla! Apprentice
Joomla! Apprentice
Posts: 22
Joined: Mon Oct 22, 2007 1:22 am
Location: Montréal, Québec, Canada

Re: [réglé] Précision sur les "mosCountModules"

Post by Bigjoom » Mon Oct 22, 2007 10:00 pm

Merci beaucoup pour toutes ces précisions ouly, c’est très apprécié !
:)
Bigjoom


Locked

Return to “1.0 - Templates et design”