Joomla 2.5のWebサイトがあり、タイトルに表示されるページ/メニュー名を削除して、Googleまたはブラウザタブに表示されないようにしたいと考えています。現在、ホームページはページタイトルに「HOME」を追加しています:
<title>Example Sitename - Page/Menu Name</title>
「ブラウザページタイトル」は「ページ表示オプション」内にあることがわかりますが、空のままにすると、メニュー項目タイトルが使用されます。
サイトのフロントページのページ/メニュー名のみを削除することに注意してください。また、ソリューションはバイリンガル(または多言語)Webサイトで機能する必要があります。つまり、「My Website-Home」は「My Website」言語は同じルールに従います。つまり、「Mon Website-Accueil」は「Mon Website」になります。
ジョージオケロが言ったように、最初のページの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;
の前にコピーすることです。
Joomla 2.5でこれを行うには、次の手順を実行します:
次に、テンプレートの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を使用して、すべてのホームページをテストするだけです。
私がこれまで見つけた唯一の解決策(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」で始まる場合にタイトルを置き換えるハックです。
[ホーム]メニュー項目の[ページ表示オプション]で[ページ見出しを表示]が[いいえ]に設定されていることを確認します。同じメニュー項目の記事オプションで「タイトルを表示」も非表示に設定している限り、タイトルは非表示になります。
<?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)
を追加してみてください
Title Manager と呼ばれるJoomlaプラグインがこれを処理します。単に使用します:
Only show site name on home page: Yes