Source for file htf_frm_pagearea.phl
Documentation is available at htf_frm_pagearea.phl
* 作成する各ページエリアの情報を保持するスーパークラス
* @package HtmlTemplateFramework
* @author Yamauchi Shogo <htf@as-prj.com>
* @version $Id: htf_frm_pagearea.phl ,v 1.0 $
require_once("htf_com_initialize.inc"); //共通初期処理
require_once("htf_css_style.phl"); //CSSスタイル情報クラス
require_once("htf_tag_table.phl"); //tableタグ情報
require_once("htf_tag_tr.phl"); //trタグ情報
require_once("htf_tag_td.phl"); //tdタグ情報
* 作成する各ページエリアの情報を保持するスーパークラス
* ページエリア内の各エリア(ページヘッダ・ページフッタ・インデックスバー・レフトエリア・ライトエリア・コンテンツエリア)
* の情報を管理する各クラス(htf_frm_pageheader/htf_frm_pagefooter/htf_frm_indexbar/htf_frm_leftarea/htf_frm_rightarea/htf_frm_contentarea)のスーパークラス。
* 各クラスで使用する共通の属性情報を定義します。<br>
* @author Yamauchi Shogo <htf@as-prj.com>
* 各エリアの出力方法を指定する属性です。有効な値は以下です。<br>
* 'include'→指定したファイルをincludeして出力
* type属性が'text'(指定したテキストを出力)の場合に出力するテキストです。
* type属性が'include'(指定したファイルをincludeして出力)の場合に出力するファイル名です。
* ファイル名は以下の順番にサーチし、includeします。<br>
* (2)実行ディレクトリから上位(ドキュメントルート・またはルートディレクトリまで)<br>
* (3)PHPに設定されたインクルードディレクトリ
var $param; //タグ出力部品関数の引数(カンマ区切り)
* tdタグでブロッキングされた各エリア内での横位置を指定します。
* この値は、そのままブロッキングしたtdタグのalign属性となります。
* 'left','center','right'等を指定してください。
* tdタグでブロッキングされた各エリア内での縦位置を指定します。
* この値は、そのままブロッキングしたtdタグのvalign属性となります。
* この値はCSSのwidthプロパティの値としてそのまま出力されます。
* この値はCSSのhtightプロパティの値としてそのまま出力されます。
* この値はCSSのborder-widthプロパティの値としてそのまま出力されます。
* この値はCSSのborder-colorプロパティの値としてそのまま出力されます。
* この値はCSSのbackground-colorプロパティの値としてそのまま出力されます。
* この値はCSSのbackground-colorプロパティの値として出力されます。
* ただし、CSS記述の際に必要な url() の記述は必要ありません。
* また、DOMノードからの生成時、このプロパティ内容にHTFフレームの置換タグがあった場合には、置換されて設定されます。
* この値はCSSのcolorプロパティの値として出力されます。
* この値はCSSのcolorプロパティの値として出力されます。
* 各エリアの既に見たリンクの文字色を指定します。
* この値はCSSのcolorプロパティの値として出力されます。
* 各エリアのクリック時リンクの文字色を指定します。
* この値はCSSのcolorプロパティの値として出力されます。
* 各エリアのカーソルが乗った時のリンク文字色を指定します。
* この値はCSSのcolorプロパティの値として出力されます。
* 各エリアのページエリア名です。継承先クラスで設定されます。
* 各エリアのテーブルに適用されるCSSクラス名です。継承先クラスで設定されます。
* 各エリアのテーブルのセルに適用されるCSSクラス名です。継承先クラスで設定されます。
* 引数のDOMノードから、ページエリアクラスのインスタンスを生成します。
* 各属性値が存在しない場合には、それぞれを初期値で生成します。
* @param object $objnode DOMノード
$this->initialize_property();
$this->override_property($objnode->attributes());
* ページエリアのtableタグに適用するCSS書式記述を取得します。
$objcssstyle->add_property('border-width',$this->border);
$objcssstyle->add_property('border-style','solid');
$objcssstyle->add_property('border-color',$this->bordercolor);
$objcssstyle->add_property('color',$this->fontcolor);
$objcssstyleAlink->class_name = $this->classname;
$objcssstyleAlink->anchor_name = 'A:link';
$objcssstyleAlink->add_property('color',$this->linkcolor);
$objcssstyleAvisited->class_name = $this->classname;
$objcssstyleAvisited->anchor_name = 'A:visited';
$objcssstyleAvisited->add_property('color',$this->visitedcolor);
$objcssstyleAactive->class_name = $this->classname;
$objcssstyleAactive->anchor_name = 'A:active';
$objcssstyleAactive->add_property('color',$this->activecolor);
$objcssstyleAhover->class_name = $this->classname;
$objcssstyleAhover->anchor_name = 'A:hover';
$objcssstyleAhover->add_property('color',$this->hovercolor);
* ページエリアのtdタグに適用するCSS書式記述記述を取得します。
$objcssstyle->add_property('background-color',$this->bgcolor);
$objcssstyle->add_property('background-image','url('. $this->bgimage. ')');
$objcssstyle->add_property('height',$this->height);
* ページエリアのHTMLタグを文字列として取得します。
* ただし、ページエリアのタイプ指定がinclude指定の場合、その部分はincludeを記述したphpスクリプト文字列となります。
$strret = $this->get_htmltag_include();
$strret = $this->get_htmltag_text();
* @param string $strclass エリアのtableタグに適用するcssクラス名
* @param string $strtdclass エリアのtdタグに適用するcssクラス名
$this->print_htmltag_include();
$this->print_htmltag_text();
* インクルードファイル指定の場合のHTMLタグを出力します。
* @param string $strclass エリアのtableタグに適用するcssクラス名
* @param string $strtdclass エリアのtdタグに適用するcssクラス名
function print_htmltag_include() {
$strfpath = $this->get_includepath();
$objtagtable = $this->get_tag_table();
$retstr.= htf_add_cr($objtagtable->get_starttag()); //tableタグ
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->get_starttag()); //trタグ
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->contents[0]->get_starttag()); //tdタグ
$retstr = htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->contents[0]->get_endtag()); //tdタグ
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->get_endtag()); //trタグ
$retstr.= htf_add_cr($objtagtable->get_endtag()); //tableタグ
* インクルードファイル指定の場合のHTMLタグを取得します。
* @param string $strclass エリアのtableタグに適用するcssクラス名
* @param string $strtdclass エリアのtdタグに適用するcssクラス名
function get_htmltag_include() {
$strfpath = $this->get_includepath();
$objtagtable = $this->get_tag_table();
$retstr.= htf_add_cr($objtagtable->get_starttag());
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->get_starttag());
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->get_starttag());
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->contents[0]->get_starttag());
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->contents[0]->get_endtag());
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->contents[0]->get_endtag());
$retstr.= htf_add_cr($objtagtable->contents[$objtagtable->tb_ix]->get_endtag());
* テキスト指定の場合のHTMLタグを出力します。
function print_htmltag_text() {
$retstr = $this->get_htmltag_text();
* テキスト指定の場合のHTMLタグを取得します。
function get_htmltag_text() {
$objtagtable = $this->get_tag_table($this->text);
$retstr.= $objtagtable->get_htmltag(); //エリアのHTMLタグ
* ページエリアの枠となるテーブルオブジェクトを取得します。
* @param string $strcontents tdに設定するコンテンツ内容
function get_tag_table( $contents= "" ) {
$objtagtable->add_attribute('class', $this |