第4弾/管理画面HTML生成 Mambot
金魚屋開発支援シリーズ第4弾。
手抜き屋のための管理画面HTML 生成 Mambot。
はじめに
NAME
管理画面HTML生成 Mambot - KingyoyaAdminHTML
Latest Version
HISTORY
2008-04-08 Version 1.0.0
公開
動作環境
- Joomla 1.0.x
目的
- 一覧とかフォームとか、作るHTML は大体一緒。
NOTICE
- 引数間違えたり値とり損ねたりするとE_USER_WARNING にエラー吐きます。
- form 生成はまだ未実装。
USAGE
// mambot 呼び出し $_MAMBOT->loadBotGroup('Kingyoya'); // 一般的なヘッダを表示 mosKingyoyaAdminHTML::showHeader('一覧表示', 'edit'); // 一般的なフォームヘッダを表示 mosKingyoyaAdminHTML::showFormHeader($option); // $option = 'mycomponent'; /** @var mosKingyoyaAdminHTMLList 一覧生成クラスオブジェクト */ $listhtml = mosKingyoyaAdminHTML::factory('list', $option); // $option = 'mycomponent'; $listhtml->pageNav( $pageNav ); // フィールドを定義 $listhtml->appendRowNumberField('#', '5'); // pagenav から Row Number を表示 $listhtml->appendCheckboxField('5'); // pagenav から cids のcheckbox を表示 $listhtml->appendField('id', 'ID', null, '5'); $listhtml->appendField('field1', 'Field 1', null, '20%'); $listhtml->appendField('field2', 'Field 2', 'form'); $listhtml->appendField('field3', 'Field 3'); // 行を追加(1) $row = $listhtml->createRow(); $row->id('100'); // データのID $row->field('filed1', 'Field1 value1'); // field1 の表示値 $row->field('filed2', 'Field2 value1'); // field2 の表示値 $row->field('filed3', 'Field3<br />value1'); // field3 の表示値 $listhtml->appendRow($row); // 行を追加(2) $row = $listhtml->createRow('101'); // データのID も合わせて指定 $row->field('filed1', 'Field1 value2'); // field1 の表示値 $row->field('filed2', 'Field2 value2'); // field2 の表示値 $row->field('filed3', 'Field3<br />value2'); // field3 の表示値 $listhtml->appendRow($row); // 行を追加(3) $row = $listhtml->appendRow('102'); // データのID も合わせて指定 $row->field('filed1', 'Field1 value3'); // field1 の表示値 $row->field('filed2', 'Field2 value3'); // field2 の表示値 $row->field('filed3', 'Field3<br />value3'); // field3 の表示値 // 表示 $listhtml->show(); // 一般的なフォームフッタを表示 mosKingyoyaAdminHTML::showFormFooter();
表示HTML
<!-- showHeader() --> <table class="adminheading"> <tr> <th class="edit">一覧表示</th> </tr> </table> <!-- showFormHeader() --> <?php mosCommonHTML::loadOverlib(); ?> <form action="index2.php" method="post" name="adminForm"> <input type="hidden" name="option" value="mycomponent" /> <input type="hidden" name="task" value="" /> <input type="hidden" name="id" value="" /> <input type="hidden" name="cid" value="" /> <input type="hidden" name="boxchecked" value="" /> <!-- $listhtml->show() --> <table class="adminList"> <tr> <th width="5">#</th> <th width="5"><input type="checkbox" name="toggle" value="" onclick="checkAll(3);" /></th> <th width="5">ID</th> <th width="20%">Field 1</th> <th>Field 2</th> <th>Field 3</th> </tr> <tr> <td>1</td> <td align="center"><input type="checkbox" id="cb0" name="cid[]" value="101" onclick="isChecked(this.checked);" /></td> <td>Field1 value1</td> <td><a href="index.php?option=mycomponent&task=form&id=101">Field2 value2</a></td> <td>Field3<br />value1</td> </tr> <tr> <td>2</td> <td align="center"><input type="checkbox" id="cb1" name="cid[]" value="102" onclick="isChecked(this.checked);" /></td> <td>Field1 value2</td> <td><a href="index.php?option=mycomponent&task=form&id=102">Field2 value2</a></td> <td>Field3<br />value2</td> </tr> <tr> <td>3</td> <td align="center"><input type="checkbox" id="cb2" name="cid[]" value="103" onclick="isChecked(this.checked);" /></td> <td>Field1 value3</td> <td><a href="index.php?option=mycomponent&task=form&id=102">Field2 value3</a></td> <td>Field3<br />value3</td> </tr> </table> <?php echo $pageNav->getListFooter(); ?> <!-- showFormFooter() --> </form>
mosKingyoyaAdminHTML 概説
static factory()
object mosKingyoyaAdminHTML::factory(string type, string option)
HTML 生成クラスのインスタンスを返す。
- list
- mosKingyoyaAdminHTMLList
- form
- mosKingyoyaAdminHTMLForm
static showHeader()
void mosKingyoyaAdminHTML::showHeader(string title [, string class ] )
一般的なヘッダを表示する。
static showFormHeader()
void mosKingyoyaAdminHTML::showHeader(string option )
一般的なフォームのヘッダを表示する。
static showFormFooter()
void mosKingyoyaAdminHTML::showFormFooter()
一般的なフォームのフッタを表示する。
mosKingyoyaAdminHTMLList 概説
pageNav()
mosPageNav pageNav( [mosPageNav pageNav] )
pageNav オブジェクトの設定、または設定されているpageNav オブジェクトの取得。
appendField()
void appendField( string name, string title [, string task [, string width ] ] )
列定義の追加。
- name
- 行で値を指定するための識別子。
- title
- ヘッダ行で表示される列名。
- task
- 各行の表示でtask へのリンクを作成する。
- width
- 列の幅。
appendRowNumberField()
void appendRowNumberField( string title [, string width ] )
行番号を表示する列を追加する。
利用にはpageNav を設定する必要がある。
appendCheckboxField()
void appendCheckboxField( [ string width ] )
行指定するためのチェックボックスを表示する列を追加する。
利用にはpageNav を設定する必要がある。
ヘッダ行では全選択のチェックボックスが表示される。
createRow()
mosKingyoyaAdminHTMLListRow createRow( [ mixed id ] )
行オブジェクトを作成する。
id はtask でのリンクやcheckbox に利用される。
appendRow()
mosKingyoyaAdminHTMLListRow appendRow( mixed id )
次の行を追加して、そのオブジェクトのリファレンスを返す。
id はtask でのリンクやcheckbox に利用される。
mosKingyoyaAdminHTMLListRow appendRow( mosKingyoyaAdminHTMLListRow row )
row を次の行に追加する。
mosKingyoyaAdminHTMLListRow 概説
mosKingyoyaAdminHTMLList のための行オブジェクト
id()
mixed id( [ mixed id ] )
task でのリンクやcheckbox に利用されるID を設定する。または設定されているID を返す。
field()
void field( string name [, string value ])
name で設定されている列の値に value を設定する。またはname に設定されている値を返す。