web-dev-qa-db-ja.com

フロントページのみのJoomla 2.5および3+でページタイトルからページ/メニューを削除する方法

Joomla 2.5のWebサイトがあり、タイトルに表示されるページ/メニュー名を削除して、Googleまたはブラウザタブに表示されないようにしたいと考えています。現在、ホームページはページタイトルに「HOME」を追加しています:

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

「ブラウザページタイトル」は「ページ表示オプション」内にあることがわかりますが、空のままにすると、メニュー項目タイトルが使用されます。

サイトのフロントページのページ/メニュー名のみを削除することに注意してください。また、ソリューションはバイリンガル(または多言語)Webサイトで機能する必要があります。つまり、「My Website-Home」は「My Website」言語は同じルールに従います。つまり、「Mon Website-Accueil」は「Mon Website」になります。

6
Yannis Dran

ジョージオケロが言ったように、最初のページのIDに注意する必要があります。メニューマネージャーに移動し、各言語でそれらを見つけます。多言語Webサイト用のプラグインがある場合は、別の構成が必要です。

私の場合、両方のIDは127と128でした。そのため、解決策は<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;
?>

多言語のウェブサイトを持っている場合、あなたがしなければならないことはあなたが望む多くの言語(またはユニークなIDを持つページ)のためにelseif ($menuItemId == xx ) : $this->setTitle('xxxx');行をendif;の前にコピーすることです。

1
Yannis Dran

Joomla 2.5でこれを行うには、次の手順を実行します:

  • 管理者アカウントを使用してJoomlaバックエンドにログインします
    • メニューマネージャーをクリックします
      • メインメニューをクリックします
        • [ホーム]をクリックして、メニューIDをメモします。

次に、テンプレートのindex.phpファイルの<jdoc:include type="head" />の前に次のコードを追加します(以下の例では、上記の手順で説明したように、101をサイトの実際のID番号に置き換える必要があります。

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

カスタムタイトルが必要な場合、例えば私のカスタムタイトル、次に使用:

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

多言語Webサイトではこれをテストしていませんが、各言語に独自のホームページがあると仮定すると、一意のメニュー項目IDを使用して、すべてのホームページをテストするだけです。

3
George Okello

私がこれまで見つけた唯一の解決策(Joomla 3.0)は、テンプレートのindex.phpファイルの<jdoc:include type="head" />の前に次のスニペットを追加することです。

ページのスニペットは次のようになります。

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

これは基本的に、「Home」で始まる場合にタイトルを置き換えるハックです。

3
Tarnschaf

Joomla内に AceSEF または SH404SEF をインストールすることを強くお勧めします。 AceSEFは無料で機能しますが、SH404SEFは機能がわずかに多くなる傾向がありますが、価格がかかります。 Joomla SEOはそのまま使用できますが、完璧な変更テンプレートとはほど遠いですが、拡張機能の使用ははるかに簡単で、あなたが求めた以上のSEOを実行します。

これらのプラグインは、Joomlaのすべてのバージョンにインストールできます:

  • Joomla 1.5
  • Joomla 2.5
  • Joomla 3.0
  • Joomla 3.5以降...
1
Simon Hayter

[ホーム]メニュー項目の[ページ表示オプション]で[ページ見出しを表示]が[いいえ]に設定されていることを確認します。同じメニュー項目の記事オプションで「タイトルを表示」も非表示に設定している限り、タイトルは非表示になります。

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

すべては ここ にあります

if(str_pos($this->getTitle(), "Part of your home page title")!=false)を追加してみてください

0
Trouble

Title Manager と呼ばれるJoomlaプラグインがこれを処理します。単に使用します:

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