Drupal 7のページのタイトルヘッドをパスで変更する


8

Drupal 7のページのタイトルヘッドをパスで変更する必要があります。すべてのコンテンツタイプには適用されません。タイトルヘッドをビューで生成された特定のページに変更する必要があります。

たとえば、http://www.mysite.comというサイトがあります。

<title>My favorite website </title>

forページが必要です。

http://www.mysite.com/test

<title> My test today </title>

http://www.mysite.com/examples

<title> My examples for share </title>

ありがとう。


「タイトルヘッドを特定のノードに変更する」という意味がわかりません。明確にしていただけませんか?この分野で役立つ2つの一般的なモジュールは、drupal.org / project / pathautodrupal.org/project/auto_nodetitle です。これらをチェックして、機能しない場合は、これらの一般的なモジュールとユースケースがどのように異なるかを説明してください。扱う。
Patrick Kenny

メタタグに登場する「タイトルヘッド」を参考にしています。ブラウザのタブに表示されるタイトル。ありがとう。
cabita

回答:


11

これが、Drupal 7でどのようにしたかです。

template.php:

function YOUR_THEME_preprocess_page(&$vars){
  $path = $_GET['q'];

  if (strpos($path,'YOUR_PATH_STRING') !== false) {
    drupal_set_title('YOUR_TITLE');
  }
}

たとえば、パスがyoursite.com/boogaboogaの場合、'YOUR_PATH_STRING''boogabooga'に設定し'YOUR_TITLE'、ページタイトルを任意に設定します。


これはhook_preprocess_user_profileでは機能しません
Francisco Corrales Morales

<front>ページをターゲットにするために記述する文字列は何ですか?
火星

14

それはあなたの限られたページのセットのために聞こえるかもしれませんTHEME_preprocess_html()URLパスとオーバーライドを実装して調べます$vars['head_title']。例としてこのブログ投稿を参照してください:Drupal 7でカスタムページタイトルを設定する方法

ヘッドタイトルにいくつかのパターンがある場合は、ページタイトルを試してください


特定のパスに「ヘッドタイトル」を割り当てたい場合は、投稿を見て質問があります。すべてのパスが同じタイトルを持つわけではありません。たとえば、mysite.com / testが必要です。<title>は "My tests"で、他のページmysite.com/examplesが必要です。<title> "Examples for share"が必要です。このコードはこの目的に役立ちますか?投稿を更新しました。
cabita

@cabita Tenkenの投稿はあなたのユースケースをカバーしています。彼がすでに述べたことに加えて、メタタグモジュールを使用することもできます。3つのオプションすべてで、残りの部分に触れることなく、必要な特定のノードページのヘッドタイトルを設定できます。
Madis

メタタグを試し、特定のページのタイトルヘッドを変更できるようにしましたが、ビューによって生成された特定のページは変更できません。質問をもう一度更新します。申し訳ありません。
cabita

@cabita ページタイトルも試してみましたか?少なくとも、ビューの統合があると主張しています。これがうまくいかない場合は、先に進んでコードで実行することもできます(パスをチェックするために$ _GET ['q']またはarg()を使用するだけで、特定のページへの変更を制限するのは簡単です)。
Madis

私はコードでやった。そうです、$ _ GET ['q']またはarg()を使用するだけで、変更を特定のページに制限するのは簡単です。
cabita
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.