Question [Résolu] Comment n'afficher l'image du header qu'en page d'accueil

Plus d'informations
23 Nov 2014 18:38 - 27 Nov 2014 10:03 #1 par miqui
Bonjour.

Je désire que l'image du header, en entête de page de notre site, ne s'affiche que sur la page d'accueil.
Sous l'ancienne version 1.5 du dit site, ce problème avait été résolue grâce à l'aide de Starter, en dupliquant le template utilisé (Cf. www.aide-joomla.com/forum/526-discussion...ns-l-image-du-header).
L’inconvénient est qu'à chaque passage d'une version à une autre, il faut recommencer les modifications.
Sous Joomla 3.3.6, comment modifier le code du fichier index.php pour que tout appel de page, autre que celle de l'accueil, entraîne la disparition de l'image du header ?
La solution existe semble-t-il, mais ne connaissant pas la programmation php je ne sais comment l'appliquer (Cf. www.web54.fr/tutoriels-joomla/un-header-...sur-la-page-daccueil) ?

Voici la partie de l'index.php qui serait concernée :

<div class="logoheader">
<h1 id="logo">
<?php if ($logo) : ?>
<img src="<?php echo $this->baseurl; ?>/<?php echo htmlspecialchars($logo); ?>" alt="<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>" />
<?php endif;?>
<?php if (!$logo AND $templateparams->get('sitetitle')) : ?>
<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>
<?php elseif (!$logo AND $config->get('')) : ?>
<?php echo htmlspecialchars($config->get('')); ?>
<?php endif; ?>
<span class="header1">
<?php echo htmlspecialchars($templateparams->get('sitedescription')); ?>
</span></h1>
</div><!-- end logoheader -->

Quelqu'un peut-il me guider ? D'avance merci.
Dernière édition: 27 Nov 2014 10:03 par miqui.
Le sujet a été verrouillé.
Plus d'informations
24 Nov 2014 14:46 #2 par webcrea
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$accueil = $menu->getDefault();

if ($accueil->id == $active->id) {
?>

code de la page d'accueil

<?php }else{ ?>

code des autres pages

<?php } ?>

Christophe
www.webcrea.fr
Le sujet a été verrouillé.
Plus d'informations
24 Nov 2014 18:54 #3 par miqui
Bonjour webcrea,

Merci pour ta proposition.
Malheureusement, je suis un ignare (comme tu le sais) !... Et ne sais quoi faire du code que tu proposes. :blush:
Pourrais-tu, si je ne suis pas trop embêtant, me guider pas à pas.
Je suppose que je dois placer ce code dans index.php. J'ai tenté plusieurs essais, avec différentes configurations (au hasard) en différents endroits du fichier index.php, mais bien évidemment cela n'a pas fonctionné (le hasard n'a pas place ici).
Que me faut-il faire exactement ? Est-ce que je dois utiliser tel quel le code proposé ? si non que faire ? Faut-il placer ce code à un endroit précis du fichier ? Dois-je modifier d'autres parties du fichier ? Bref, je suis paumé.
Le sujet a été verrouillé.
Plus d'informations
25 Nov 2014 20:11 - 25 Nov 2014 20:15 #4 par lotfi_universal
Réponse de lotfi_universal sur le sujet Comment n'afficher l'image du header qu'en page d'accueil
Salut,
pourquoi n'utiliser pas un module qui permet d'afficher ton image et l'affecter juste au lien de menu par défaut ?
c'est plus facile de faire ça sans passer par la solution de programmation, joomla3 te permet de faire ce que tu veux et si tu veux autre chose de plus fin niveau gestion, tu peut utiliser le composant module manager de nonumber

Pas de support en MP sans y être invité.
Merci de vous conformer aux règles du forum
Dernière édition: 25 Nov 2014 20:15 par lotfi_universal.
Le sujet a été verrouillé.
Plus d'informations
26 Nov 2014 13:22 #5 par webcrea
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$accueil = $menu->getDefault();

if ($accueil->id == $active->id) :
?>

<div class="logoheader">
<h1 id="logo">
<?php if ($logo) : ?>
<img src="<?php echo $this->baseurl; ?>/<?php echo htmlspecialchars($logo); ?>" alt="<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>" />
<?php endif;?>
<?php if (!$logo AND $templateparams->get('sitetitle')) : ?>
<?php echo htmlspecialchars($templateparams->get('sitetitle')); ?>
<?php elseif (!$logo AND $config->get('')) : ?>
<?php echo htmlspecialchars($config->get('')); ?>
<?php endif; ?>
<span class="header1">
<?php echo htmlspecialchars($templateparams->get('sitedescription')); ?>
</span></h1>
</div><!-- end logoheader -->

<?php endif; ?>

@lofti je pense que miqui veut le code du header seulement sur la page d'accueil paramétré à partir de la gestion du template

Christophe
www.webcrea.fr
Les utilisateur(s) suivant ont remercié: lotfi_universal
Le sujet a été verrouillé.
Plus d'informations
26 Nov 2014 19:15 #6 par miqui
Webcra,

Je n'y arrive pas... :(

Si je place cette partie du code :
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$accueil = $menu->getDefault();

if ($accueil->id == $active->id) :
?>


Comme porté sur l'image ci-dessous, j'obtiens le message "Parse error: syntax error, unexpected end of file in H:\xampp\htdocs\Joomla3 inicit\templates\beez3\index.php on line 216" avec page blanche : La ligne 216 étant la dernière ligne (vide d'ailleurs) de l'index.php, après </html>

Fichier attaché :


Si je supprime l'entrée <?php, ça ne marche pas, et "$app = JFactory::getApplication(); $menu = $app->getMenu(); $active = $menu->getActive(); $accueil = $menu->getDefault(); if ($accueil->id == $active->id) :?>" apparait en haut du header sur toutes les pages.

Merci pour ta patience.
Le sujet a été verrouillé.
  • Vous ne pouvez pas: Créer un nouveau sujet.
  • Vous ne pouvez pas: Répondre au sujet.
  • Vous ne pouvez pas: Éditer votre message.
Modérateurs: xillibittramber91Scottuxsergestarter
Temps de génération de la page : 1.600 secondes