Source for file htf_frm_headconfig.phl
Documentation is available at htf_frm_headconfig.phl
* headconfig情報を保持しヘッダを管理するクラス
* @package HtmlTemplateFramework
* @author Yamauchi Shogo <htf@as-prj.com>
* @version $Id: htf_frm_headconfig.phl ,v 1.0 $
require_once("htf_com_initialize.inc"); //共通初期処理
require_once("htf_tag_element.phl"); //タグオブジェクト
require_once("htf_frm_headtag_element.phl"); //headタグ要素オブジェクト
* headconfig情報を保持しヘッダを管理するクラス。
* コンストラクタに引数で渡されるheadconfig要素のDOMノードを参照し、
* htfフレームで出力するhtmlのheadタグ部分の情報を保持します。<br>
* @author Yamauchi Shogo <htf@as-prj.com>
* htmlのheadタグ内に出力するmetaタグのcontent-type指定文字列を指定します。<br>
* 初期値は、htf環境設定情報に設定されている内部エンコーディング文字列を参照して決定されます。<br>
* UTF-8の場合には、'text/html; charset=utf-8'<br>
* EUC-JPの場合には、'text/html; charset=euc-jp'<br>
* htmlタグ出力時の例として、たとえば、content_type属性に'text/html; charset=euc-jp'と設定すると、headタグ内に<br>
* <meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
* htmlのheadタグ内に出力するmetaタグのcontent-style-type指定文字列を指定します。<br>
* 初期値は、'text/css'です。空文字を指定すると該当のmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、content_style_type属性に'text/cssと設定すると、headタグ内に<br>
* <meta http-equiv="Content-Style-Type" content="text/css">
* htmlのheadタグ内に出力するmetaタグのcontent-script-type指定文字列を指定します。<br>
* 初期値は、'text/javascript'です。空文字を指定すると該当のmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、content_script_type属性に'text/vbscript'と設定すると、headタグ内に<br>
* <meta http-equiv="Content-Script-Type" content="text/vbscript">
* htmlのheadタグ内に出力するtitleタグの文字列を指定します。<br>
* 初期値は、空文字です。空文字の場合には、titleタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、title属性に'出力タイトル'と設定すると、headタグ内に<br>
* htmlのheadタグ内に出力するmetaタグのauthor指定文字列を指定します。<br>
* 初期値は、空文字です。空文字の場合には、authorを出力するmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、author属性に'ASP Software'と設定すると、headタグ内に<br>
* <meta name="author" content="ASP Software">
* htmlのheadタグ内に出力するmetaタグのcopyright指定文字列を指定します。<br>
* 初期値は、空文字です。空文字の場合には、copyrightを出力するmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、copyright属性に'Copyright(C)1996-2006 ASP Software. All rights reserved.'と設定すると、headタグ内に<br>
* <meta name="copyright" content="Copyright(C)1996-2006 ASP Software. All rights reserved.">
* htmlのheadタグ内に出力するmetaタグのdescription指定文字列を指定します。<br>
* 初期値は、空文字です。空文字の場合には、descriptionを出力するmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、description属性に'ASPソフトウエアが役立つフリー&シェアウエアを提供します。'と設定すると、headタグ内に<br>
* <meta name="description" content="ASPソフトウエアが役立つフリー&シェアウエアを提供します。">
* htmlのheadタグ内に出力するmetaタグのkeywords指定文字列を指定します。<br>
* 初期値は、空文字です。空文字の場合には、keywordsを出力するmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、keywords属性に'メール配信,一括配信,AS-SMTP,AS-POP3,AS-SendMail'と設定すると、headタグ内に<br>
* <meta name="keywords" content="メール配信,一括配信,AS-SMTP,AS-POP3,AS-SendMail">
* htmlのheadタグ内に出力するmetaタグのrobots指定文字列を指定します。<br>
* 初期値は、空文字です。空文字の場合には、robotsを出力するmetaタグは出力されません。<br>
* htmlタグ出力時の例として、たとえば、robots属性に'INDEX,FOLLOW'と設定すると、headタグ内に<br>
* <meta name="robots" content="INDEX,FOLLOW">
* htfで指定可能な各属性情報以外にheadタグ内に出力を行いたい場合、addheader属性にPHPスクリプトファイル名を設定します。<br>
* headタグ出力時に、属性指定のファイルをサーチし、ファイル内容をincludeして出力します。初期値は、空文字です。<br>
* (2)実行ディレクトリから上位(ドキュメントルート・またはルートディレクトリまで)<br>
* (3)PHPに設定されたインクルードディレクトリ<br>
* また、使用する用途としては、たとえば、<br>
* (1)htfで選択されるCSSファイル以外のCSSファイルを使用したい<br>
* (2)JavaScriptファイルを読み込みたい<br>
* CSS文字列をhead内に直接出力したい場合、cssstr属性に出力文字列を設定します。<br>
* この属性はhtf_frm_frameconfigクラスで使用され、htfフレームの他ページエリアでの指定書式は、このプロパティを介して出力されます。<br>
* 読み込むCSSファイル名を指定します。<br>
* この属性は、htfが判別するCSSファイルを定義するために使用されます。<br>
* htmlタグ出力時の例として、たとえば、cssfilename属性に'/css/style.css'と設定されたとすると、headタグ内に<br>
* <link rel="stylesheet" href="/css/style.css" type="text/css">
* @var htf_frm_headtag_element
* 引数のDOMノードから、htf_frm_headconfigクラスのインスタンスを生成します。
* 各属性値が存在しない場合には、初期値で生成します。
* @param object $objnode headconfigのDOMノード
$this->initialize_property();
$this->override_property($objnode->attributes());
print("headconfig_construct<br>\n");
print("content_type:".$this->content_type."<br>\n");
print("content_style_type:".$this->content_style_type."<br>\n");
* HTMLのheadタグを文字列として取得します。
* @return string headタグ文字列
return $this->head->get_htmltag();
function make_headtag() {
//mm_swap用jsファイルパス取得(インクルードパスから)
$strfpath= $this->get_addheaderpath();
//metaタグ・Content-Styel-Type
//metaタグ・Content-Script-Type
//linkタグ(引数のCSSファイル名から生成)
//scriptタグ(イメージスワップ用jsファイルがインクルードにあるはず)
$this->head->add_script($strjspath, 'text/javascript', 'JavaScript1.1');
function initialize_property() {
//内部エンコードからContent-Type設定文字列を判断
function override_property($arrattr) {
for ($i= 0 ; $i< count($arrattr) ; $i++ ) {
* addheaderの存在パスをサーチして取得します。
* @return string addheaderの存在パス
function get_addheaderpath() {
|