Template Joomla Index.php
Source : http://www.joomlack.fr
Descrition d'un template Joomla
INDEX.PH
<?php
/**
* @copyright Copyright (C) 2011 André DEBAISIEUX
* @license GNU/GPL
**/
__________________________________________
// no direct access PROTEGE DE LA LECTURE DU CODE
defined( '_JEXEC' ) or die( 'Restricted access' );
JHTML::_('behavior.framework',true);
?>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml" xml:lang="language; ?>" lang="language; ?>" dir="direction; ?>" >
<head>
Le code interne <jdoc:include /> permet d'afficher les différents éléments du template.
C'est une instruction de l'API Joomla! qui va chercher les informations dans la base de
données et les intégrer dans le template (articles, modules, textes, etc...).
<jdoc:include type="head" />
DECLARATION DES FICHIERS CSS
<link rel="stylesheet" href="/baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="/baseurl ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="/baseurl ?>/templates/template ?>/css/template.css" type="text/css" />
COMPATIBILITE IE7
<!--[if lte IE 7]>
<script type="text/javascript" src="/baseurl ?>/templates/template ?>/js/IEhover.js"></script>
<![endif]-->
DECLARATION DE TROIS MODULES GESTION DE LA LARGEUR AUTOMATIQUE
<?php
//3 modules à largeur variable
$nbmodules = 0;
if ($this->countModules('position-3')) $nbmodules++;
if ($this->countModules('position-4')) $nbmodules++;
if ($this->countModules('position-5')) $nbmodules++;
if ( $nbmodules == 3 )
{
$largeurbloc = '33';
}
else if ($nbmodules == 2)
{
$largeurbloc = '50';
}
else if ($nbmodules == 1)
{
$largeurbloc = '100';
}
?>
</head>
<?php if($this->countModules('position-3') || $this->countModules('position-4') || $this->countModules('position-5')) : ?>
<body class="avec_userstop" style="background-color: params->get('bgcolor'); ?>;">
<?php else: ?>
<body style="background-color: params->get('bgcolor'); ?>;">
<?php endif; ?>
CREATION DU CONTENEUR PRINCIPAL DANS LA PAGE
<div id="conteneur">
CREATION DU CONTEUR BANNIERE
<div id="banniere_haut">
CREATION DU CONTENEUR LOGO AVEC UN LIEN VERS LA PAGE D'ACCUEIL
<div id="logo">
<a href="/index.php"></a>
</div>
ensuite le bloc pour la zone de recherche. On y inclut l'appel au module "position-0"
<div id="recherche">
<jdoc:include type="modules" name="position-0" />
</div>
et on ferme le bloc "banniere_haut"
</div>
<div id="banniere_bas">
<div id="breadcrumbs">
<jdoc:include type="modules" name="position-2" />
</div>
</div>
Notre menu sera fait d'un seul bloc.
<div id="topmenu">
<jdoc:include type="modules" name="position-1" />
</div>
MODULES VIRIABLES: Combinons le code dans sa totalité en englobant les trois positions dans un conteneur
commun que nous appelons "userstop".
<?php if($this->countModules('position-3') || $this->countModules('position-4') || $this->countModules('position-5')) : ?>
<div id="userstop">
<?php if($this->countModules('position-3')) : ?>
<div class="largeur">
<div class="interne">
<jdoc:include type="modules" name="position-3" style="xhtml" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('position-4')) : ?>
<div class="largeur">
<div class="interne">
<jdoc:include type="modules" name="position-4" style="xhtml" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('position-5')) : ?>
<div class="largeur">
<div class="interne">
<jdoc:include type="modules" name="position-5" style="xhtml" />
</div>
</div>
<?php endif; ?>
<div class="clr"></div>
</div>
<?php endif; ?>
Colonnes principales : gauche, centre et droite Gestion des menus
<div id="contenu">
MENU GAUCHE
<div id="gauche">
<div class="interne">
<jdoc:include type="modules" name="position-7" style="ck" />
</div>
</div>
CENTRE CONTENT
<?php if($this->countModules('position-6') and JRequest::getCmd('task') != 'edit') : ?>
<div id="centre">
<?php else: ?>
<div id="centre_plein">
<?php endif; ?>
<div class="interne">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
AJOUTE LE MODULE 12 en dessous du module central
<?php if($this->countModules('position-12')) : ?>
<div id="position-12">
<div class="interne">
<jdoc:include type="modules" name="position-12" style="ck" />
</div>
</div>
<?php endif; ?>
</div>
MENU DROIT
<?php if($this->countModules('position-6') and JRequest::getCmd('task') != 'edit') : ?>
<div id="droite">
<div class="interne">
<jdoc:include type="modules" name="position-6" style="ck" />
</div>
</div>
<?php endif; ?>
<div class="clr"> : c'est un bloc fictif qui ne sera pas visible, mais qui permet de créer
une barrière horizontale pour fermer correctement le bloc "userstop" et stopper la
flottaison des autres blocs.
<div class="clr"></div>
</div>
_________________________________________________________________
<div id="footer">
<jdoc:include type="modules" name="position-8" />
<p>Design & Template réalisé par André Debaisieux</p>
http://www.flash-comet.com" target="blank">http://www.flash-comet.com
</div>
</div>
</body>
</html>



