viewsのタイトルをページによって変更したい

Events happening in the community are now at Drupal community events on www.drupal.org.
bzj00220's picture

viewsを使って、専門家の一覧を表示させています。
各専門家には所在地を登録してもらっています。
FILTER CRITERIAを使って都道府県別に表示させることもできるようになっています。

検索エンジンで検索する際には「○○県 専門家」と検索することが
多そうなので都道府県別に表示させた場合には
ページのタイトルを「○○県の専門家一覧」というタイトルにしたい
のです。

全国を表示させたら「全国の専門家一覧」
都道府県別に表示させた場合には「○○県の専門家一覧」
というタイトルにしたいのですが
そういうことは可能なのでしょうか?

もし可能でしたらその方法を教えていただければ助かります。

Comments

○○県の部分をViewsのContextual

blauerberg's picture

○○県の部分をViewsのContextual filterとして指定しているのであれば、Contextual filterの設定でOverride titleを"%1件の専門家一覧" のように設定すれば実現出来ます。

全国の~の場合は、同画面でExceptionsのOverride titleを"全国の専門家一覧"のようにすれば良いです。

bzj00220's picture

いろいろと試行錯誤しておりまして、
contextual filterで「(プロフィール) プロフィール: 都道府県名」を
指定して、Override titleを「%1の専門家一覧」としました。

パスは /user/%/itiran としてみました。

http://sample.jp/user/北海道/itiran
をみてみるとタイトルは思惑通り「北海道の専門家一覧」と表示されましたがもなにも表示されません。

http://sample.jp/user/1/itiran
を試しに見てみたら、
不思議なこ事に北海道の専門家の一覧が表示されていました。
しかしタイトルは「1の専門家」となっています。

http://sample.jp/user/47/itiran
をみてみると沖縄の専門家が表示されるので
私がタクソノミーを設定した順番になっているものと思います。

ホーム ≫ 管理 ≫ サイト構築 ≫ タクソノミーをみてみると
都道府県の選択肢は漢字で設定してあります。

もう一息というところなのですが、どうしても解決出来ません。

漢字で設定したタクソノミーが
なぜ数字に置き換わっているのか不思議です・・・・

abechiyo2000's picture

blauerbergさんの方法が一番手っ取り早いですが、引っ張ってこれる情報がContextual filterとして指定している情報のみしか取ってこれないので、もしそれで要件がたりなければ、私なら以下のように処理します。(他にも情報取得できたらすみません、思い違いかもです)

ちょっと作り方によって変わってきてしまうんですが、Viewsでページを生成すると言う事はURLを例えば以下のように設定しますよね?

「○○県の専門家一覧」 → http://hoge.com/list/tokyo とかに多分するんですよね??

そしたら、テンプレートテーマのtemplate.phpに

THEMENAME_preprocess_html(&$variables) {

if(arg(0) == list):

  $custom_title = ; //何か情報を取得するプログラムを書く。tokyoはarg(1)で取得
  $variables['title'] = $custom_title ;

endif;

}

html.tpl.phpテンプレートに

<?php
print $title
?>

なんかどうですか?

知っていたり、検討違いならごめんなさい。

pathauto

dndood's picture

同じことかどうか分かりませんが、非常に簡単なやり方あります。自分のサイトで試してみました。

● まずは全国のviewを作って、「全国専門家一覧」というタイトルを付ける
● URL エイリアスの管理ページ
● パタンのタブを押して
● 例の都道府県のtaxonomyのパターンを設定(添付画像を参考まで)。例えば:[term:vocabulary]/[term:name]のトライアスロンレース一覧
● 都道府県のtaxonomyをクリックするとURLはSEO的にきれいになります

実験的に自分のサイトでやってみました:
tri-me.jp/レースファインダー (ここは全国専門家一覧)
そのページの都道府県をマウスオーバーするとURLが見れます。クリックするとその都道府県一覧が表示され、URLは「tri-me.jp/prefacture/静岡県のトライアスロンレース一覧」となります。

このやり方は1分以内で設定できるはず。やろうとしていることを私が勘違いしてたら、ごめんなさい。参考までに。。。

blauerberg

bzj00220's picture

blauerberg さんの方法でほぼ解決しました。

CONTEXTUAL FILTERSの設定のところで
Filter value typeという項目にチェックを入れました。

http://sample.jp/user/1/itiran 
でviewsのタイトルもページのタイトルも「北海道の専門家一覧」となりました。

色々なページをみてみると数字の1はtermIDというものらしく、北海道はtermNAMEというもののようです。
Filter value typeという項目にチェックを入れるとtermIDがtermNAMEに変換されて表示されるようです。
ありがとうございました。

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: