web-dev-qa-db-fra.com

Comment supprimer une page / un menu du titre de la page dans Joomla 2.5 et 3+ sur la page d'accueil uniquement

J'ai un site Web Joomla 2.5 et je voudrais supprimer le nom de la page/du menu afin qu'il n'apparaisse pas dans le titre afin qu'il ne s'affiche pas dans Google ni dans l'onglet du navigateur. Actuellement, la page d'accueil ajoute "HOME" au titre de la page i.e:

<title>Example Sitename - Page/Menu Name</title>

Je sais que le "Titre de la page du navigateur" se trouve dans les "Options d'affichage de la page", mais si je le laisse vide, il utilise le titre de l'élément de menu.

Veuillez noter que je souhaite uniquement supprimer le nom de la page/du menu sur la page d'accueil du site. La solution doit également fonctionner pour les sites Web bilingues (ou multilingues), ce qui signifie que "Mon site Web - Accueil" sera "Mon site Web" et d'autres. les langues suivront la même règle, c’est-à-dire que "Mon site Web - Accueil" sera "Mon site Web".

6
Yannis Dran

Comme George Okello l'a dit, vous devez remarquer l'identifiant de la première page. Allez dans Menu Manager et trouvez-les pour chaque langue. Il doit y avoir une configuration différente si vous avez un plugin pour les sites Web multilingues.

dans mon cas, les deux identifiants étaient 127 et 128. La solution consiste donc à mettre le code suivant avant le <jdoc:include type="head" />.

<?php
  $menuItemId = JRequest::getInt('Itemid');
  if ($menuItemId == 127) : $this->setTitle('Theater of the Deaf of Greece');
  elseif ($menuItemId == 128) : $this->setTitle('Θέατρο Κωφών Ελλάδος');
  endif;
?>

Maintenant, si vous avez un site Web multilingue, tout ce que vous avez à faire est de copier la ligne elseif ($menuItemId == xx ) : $this->setTitle('xxxx'); et de la coller avant le endif; pour autant de langues (ou de pages avec des identifiants uniques) que vous le souhaitez.

1
Yannis Dran

Pour le faire dans Joomla 2.5, procédez comme suit:

  • Connectez-vous au serveur Joomla en utilisant votre compte administrateur
    • Cliquez sur le gestionnaire de menu
      • Cliquez sur Menu principal
        • Cliquez sur Accueil et prenez note de l'ID de menu.

Ajoutez ensuite le code suivant au fichier index.php du modèle, avant <jdoc:include type="head" /> (notez que dans l'exemple ci-dessous, 101 doit être remplacé par le numéro d'identification réel de votre site, comme indiqué dans les étapes ci-dessus.

<?php
    $menuItemId = JRequest::getInt('Itemid');
    if ($menuItemId == 101) $this->setTitle('');
?>

Si vous voulez un titre personnalisé, par exemple. Mon titre personnalisé, puis utilisez:

  • $this->setTitle('My Custom Title');

Je n'ai pas testé cela sur un site Web multilingue, mais en supposant que chaque langue a sa propre page d'accueil, il vous suffirait de tester toutes les pages d'accueil, en utilisant leurs identifiants d'élément de menu uniques.

3
George Okello

La seule solution que j'ai trouvée jusqu'à présent (Joomla 3.0) consiste à ajouter l'extrait de code suivant dans le fichier index.php de votre modèle avant <jdoc:include type="head" />.

L'extrait de ma page ressemble à ceci:

<?php
if (!strncmp($this->getTitle(), "Home", 4))
{
  $app = JFactory::getApplication();
  $this->setTitle( $app->getCfg( 'sitename' ) );  
}
?>

Il s’agit essentiellement d’un hack qui remplace le titre s’il commence par "Home".

3
Tarnschaf

Je recommande fortement d'installer AceSEF ou SH404SEF dans Joomla. AceSEF est gratuit et fait le travail tandis que SH404SEF a tendance à avoir un peu plus de fonctionnalités, mais a un prix. Joomla SEO est bien out of the box, mais son loin d'être parfait, la modification des modèles est ok, mais utiliser une extension est beaucoup plus facile et fait plus de SEO que juste ce que vous avez demandé.

Ces plugins peuvent être installés sur toutes les versions de Joomla:

  • Joomla 1.5
  • Joomla 2.5
  • Joomla 3.0
  • Joomla 3.5 et supérieur ...
1
Simon Hayter

Assurez-vous que l'option "Afficher en-tête de page" est définie sur Non sous Options d'affichage de la page pour l'élément de menu Accueil. Cela masquera le titre tant que vous aurez également défini "Afficher le titre" sur Masquer sous les options d'article du même élément de menu.

0
Trev
    <?php
        $title = $this->getTitle();
        $app = JFactory::getApplication();
        //$this->setTitle( $title . ' - ' . $app->getCfg( 'sitename' ) );
        $this->setTitle( 'your funky title' );
    ?>

Tout est dans ici

Essayez d'ajouter if(str_pos($this->getTitle(), "Part of your home page title")!=false)

0
Trouble

Le plugin Joomla appelé Title Manager peut gérer cela pour vous. Utilisez simplement:

  • Only show site name on home page: Yes
0
coilevi