My_Html_Header

My_Html_HeaderはHtmlのビューファイルに出力するヘッダ情報を制御するためのコンポーネントです。Htmlのタイトルを制御するMy_Html_Header_Title、メタキーワードを制御するMy_Html_Header_MetaKeyword、メタ説明文を制御するMy_Html_Header_MetaDescriptionがあります。いずれもコントローラ下で使用しており、変更を行う場合はコントローラでメソッドを呼び出します。それぞれの表示メッセージは下記のファイルに記述されています。

  • application
    • messages
      • en
        • html_header
          • meta_description.ini
          • meta_description.ini
          • title.ini
      • ja
        • html_header
          • meta_description.ini
          • meta_description.ini
          • title.ini

My_Html_Header_Title

基本的な設定

各コントローラやアクションに対する静的なタイトルの割り当てはコンフィグファイルの書き換えのみで対応可能です。

default.__base__ = "ZF-Ex"
default.__default__ = "%__base__%"
default.index.__default__ = "トップページ - %__base__%"

__base__が基底のページタイトルになります。移行の各画面に設定を書く際に、%__base__%とする事で基底のタイトルに置換されます。

各画面のタイトルは、次の優先度で決定されます。

  1. (モジュール名).(コントローラ名).(アクション名)で指定されたタイトルがあればそれを使用する。
  2. (モジュール名).(コントローラ名).__default__で指定されたタイトルがあればそれを使用する。
  3. (モジュール名).__default__で指定されたタイトルがあればそれを使用する。

上記の例では、indexコントローラであればトップページ - ZF-Ex、他のコントローラではZF-Exと表示されます。このいずれも存在しない場合はタイトルは出力されません。

タイトルの変更方法

コンフィグファイルでの設定以外で動的にタイトルを変更する場合、コントローラ中でメソッドを呼び出す事により設定可能です。

$this->_title->setTitle('new page title - %__base__%');

この時、%__base__%はコンフィグファイル同様に基底のタイトルに置換されます。

My_Html_Header_MetaKeyword

基本的な設定

各コントローラやアクションに対する静的なメタキーワードの割り当てはコンフィグファイルの書き換えのみで対応可能です。

default.__default__ = "php,Zend Framework,フレームワーク"
default.index.__default__ = "開発"

メタキーワードのみ文字の取得ロジックが異なります。タイトルやメタ説明文は条件に合うものの中から優先度の高いものを選択しましたが、メタキーワードは条件に合うキーワードを全て結合して出力します。

  1. (モジュール名).__default__で指定されたタイトルがあればそれを使用する。
  2. (モジュール名).(コントローラ名).__default__で指定されたタイトルがあればそれを使用する。
  3. (モジュール名).(コントローラ名).(アクション名)で指定されたタイトルがあればそれを使用する。

上記の例では、indexコントローラであればphp,Zend Framework,フレームワーク,開発、他のコントローラではphp,Zend Framework,フレームワークと表示されます。いずれも存在しない場合はキーワードは出力されません。

メタキーワードの変更方法

コンフィグファイルでの設定以外で動的にメタキーワードを変更する場合、コントローラ中でメソッドを呼び出す事により設定可能です。メタキーワードは新しいものに変更する他に、コンフィグで設定されたキーワードにさらにキーワードを追加する事にも対応しています。

キーワードを変更する時はコントローラ中で次のように記述します。

$this->_meta_keyword->setKeyword($new_keyword);

キーワードを追加する時はコントローラ中で次のように記述します。

$this->_meta_keyword->addKeyword($new_keyword);

いずれも文字列、配列の両方に対応しています。

My_Html_Header_MetaDescription

基本的な設定

各コントローラやアクションに対する静的なメタ説明文の割り当てはコンフィグファイルの書き換えのみで対応可能です。

default.index.__default__ = "Zend Frameworkの拡張型フレームワーク「ZF-Ex」のサンプルサイトです。"

各画面のメタ説明文は、次の優先度で決定されます。

  1. (モジュール名).(コントローラ名).(アクション名)で指定されたメタ説明文があればそれを使用する。
  2. (モジュール名).(コントローラ名).__default__で指定されたメタ説明文があればそれを使用する。
  3. (モジュール名).__default__で指定されたメタ説明文があればそれを使用する。

メタ説明文の変更方法

コンフィグファイルでの設定以外で動的にメタ説明文を変更する場合、コントローラ中でメソッドを呼び出す事により設定可能です。

$this->_meta_description->setDescription('new meta description');
関連ページ

ブログ記事