HtmlTemplateFramework
[ class tree: HtmlTemplateFramework ] [ index: HtmlTemplateFramework ] [ all elements ]

Source for file htf_tlb_sample_hp_rightmenu.phl

Documentation is available at htf_tlb_sample_hp_rightmenu.phl

  1. <?php
  2. /**
  3.  * htf_tlb_sample_hp_rightmenuクラス
  4.  *
  5.  * HP右メニュー生成クラス(サンプル用)
  6.  *
  7.  * @package HtmlTemplateFramework
  8.  * @subpackage htmltaglib
  9.  * @access  public
  10.  * @author    Yamauchi Shogo <htf@as-prj.com>
  11.  * @version $Id: htf_tlb_sample_hp_rightmenu.phl ,v 1.0 $
  12.  ***/
  13. require_once("htf_com_initialize.inc");    //共通初期処理
  14. require_once("htf_dat_menu.phl");            //メニュークラス
  15. require_once("htf_tag_table.phl");            //tableクラス
  16. require_once("htf_tag_tr.phl");            //trクラス
  17. require_once("htf_tag_td.phl");            //tdクラス
  18.  
  19. /**
  20.  * HP右メニュー生成クラス(サンプル用)
  21.  * 
  22.  * HPサンプルの右メニュータグ生成用のクラス。
  23.  *
  24.  * @access  public
  25.  * @author    Yamauchi Shogo <htf@as-prj.com>
  26.  ***/
  27.    /**
  28.     * 表示するメニューデータ
  29.     * 
  30.     * @access public
  31.     * @var htf_dat_menu 
  32.     ***/
  33.     var $menu;
  34.     
  35.     /**
  36.      * コンストラクタ
  37.      *
  38.      * 引数の設定値からHP右メニューオブジェクトを生成します。
  39.      *
  40.      * @param     menu    $menu         右メニュー用メニューオブジェクト
  41.      * @return    void 
  42.      ***/
  43.     function htf_tlb_sample_hp_rightmenu($menu=null{
  44.  
  45.         $this->menu = $menu;
  46.         
  47.         if (is_null($this->menu)) {
  48.             $this->menu = new htf_dat_menu();
  49.         }
  50.         
  51.         return;
  52.     }
  53.     
  54.     /**
  55.      *
  56.      * HP右メニューHTMLタグを生成します。
  57.      *
  58.      * @access  public
  59.      * @return string 
  60.      ***/
  61.     function get_htmltag({
  62.         
  63.         /* 全体・タイトル行設定 */
  64.         //テーブルタグ    
  65.         $tbl->add_attribute("border""0");
  66.         $tbl->add_attribute("cellpadding""0");
  67.         $tbl->add_attribute("cellspacing""0");
  68.         $tbl->add_attribute("width""160");
  69.         $tbl->add_attribute("bgcolor""#F0F0F0");
  70.         
  71.         //先頭にダミー行追加
  72.         $tbl->add_row_tbody($this->make_tr_dummyrow());
  73.  
  74.         for ($i=0;$i count($this->menu->arr_menuitem);$i++{
  75.             //タグ生成(tr/tdを作成して、$tblに追加する)
  76.             $tr $this->make_tr_title($this->menu->arr_menuitem[$i]->label);
  77.             $tbl->add_row_tbody($tr);
  78.             for ($j=0$j <count($this->menu->arr_menuitem[$i]->arr_menuitem);$j++{
  79.                 $childtr $this->make_tr_link($this->menu->arr_menuitem[$i]->arr_menuitem[$j]);
  80.                 $tbl->add_row_tbody($childtr);
  81.             }
  82.             $trbefdummy $this->make_tr_dummyrow();
  83.             $trline $this->make_tr_line();
  84.             $traftdummy $this->make_tr_dummyrow();
  85.             $tbl->add_row_tbody($trbefdummy);
  86.             $tbl->add_row_tbody($trline);
  87.             $tbl->add_row_tbody($traftdummy);
  88.         }
  89.         
  90.         return $tbl->get_htmltag();
  91.     }
  92.  
  93.     /**
  94.      *
  95.      * タイトル行出力のtrタグを生成します。
  96.      *
  97.      * @access  private
  98.      * @return htf_tag_tr 
  99.      ***/
  100.     function make_tr_title($strtitle{
  101.         $tr new htf_tag_tr(HTF_ITEMCASE_ELEMENT);
  102.         $td new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  103.         $td->add_attribute("align""left"HTF_ITEMCASE_ATTRIBUTE);
  104.         $td->add_attribute("width""160"HTF_ITEMCASE_ATTRIBUTE);
  105.         $td->add_attribute("colspan""4"HTF_ITEMCASE_ATTRIBUTE);
  106.         $td->add_content($strtitle);
  107.         
  108.         $tr->add_column($td);
  109.  
  110.         return $tr;
  111.     }
  112.  
  113.     /**
  114.      *
  115.      * リンク行出力のtrタグを生成します。
  116.      *
  117.      * @access  private
  118.      * @return htf_tag_tr 
  119.      ***/
  120.     function make_tr_link($mi{
  121.         $tr new htf_tag_tr(HTF_ITEMCASE_ELEMENT);
  122.         //1カラム目(ダミー)
  123.         $td1 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  124.         $td1->add_attribute("width""10"HTF_ITEMCASE_ATTRIBUTE);
  125.         //2カラム目(先頭マーク)
  126.         $td2 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  127.         $td2->add_attribute("width""10"HTF_ITEMCASE_ATTRIBUTE);
  128.         $td2->add_attribute("valign""top"HTF_ITEMCASE_ATTRIBUTE);
  129.         $td2->add_attribute("align""left"HTF_ITEMCASE_ATTRIBUTE);
  130.         $td2->add_content('≫');
  131.         //3カラム目(リンクタグ)
  132.         $td3 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  133.         $td3->add_attribute("align""left"HTF_ITEMCASE_ATTRIBUTE);
  134.         $td3->add_attribute("width""140"HTF_ITEMCASE_ATTRIBUTE);
  135.         $td3->add_attribute("colspan""4"HTF_ITEMCASE_ATTRIBUTE);
  136.         $td3->add_content($mi->get_textlinktag());
  137.         
  138.         $tr->add_column($td1);
  139.         $tr->add_column($td2);
  140.         $tr->add_column($td3);
  141.  
  142.         return $tr;
  143.     }
  144.  
  145.     /**
  146.      *
  147.      * 空行出力のtrタグを生成します。
  148.      *
  149.      * @access  private
  150.      * @return htf_tag_tr 
  151.      ***/
  152.     function make_tr_dummyrow({
  153.         $tr new htf_tag_tr(HTF_ITEMCASE_ELEMENT);
  154.         $td1 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  155.         $td1->add_attribute("width""10"HTF_ITEMCASE_ATTRIBUTE);
  156.         $td1->add_attribute("height""10"HTF_ITEMCASE_ATTRIBUTE);
  157.         $td2 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  158.         $td2->add_attribute("width""10"HTF_ITEMCASE_ATTRIBUTE);
  159.         $td2->add_attribute("height""10"HTF_ITEMCASE_ATTRIBUTE);
  160.         $td3 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  161.         $td3->add_attribute("width""10"HTF_ITEMCASE_ATTRIBUTE);
  162.         $td3->add_attribute("height""10"HTF_ITEMCASE_ATTRIBUTE);
  163.         $td4 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  164.         $td4->add_attribute("width""130"HTF_ITEMCASE_ATTRIBUTE);
  165.         $td4->add_attribute("height""10"HTF_ITEMCASE_ATTRIBUTE);
  166.         
  167.         $tr->add_column($td1);
  168.         $tr->add_column($td2);
  169.         $tr->add_column($td3);
  170.         $tr->add_column($td4);
  171.  
  172.         return $tr;
  173.     }
  174.  
  175.     /**
  176.      *
  177.      * ライン出力のtrタグを生成します。
  178.      *
  179.      * @access  private
  180.      * @return htf_tag_tr 
  181.      ***/
  182.     function make_tr_line({
  183.         $tr new htf_tag_tr(HTF_ITEMCASE_ELEMENT);
  184.         $td1 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  185.         $td1->add_attribute("width""10"HTF_ITEMCASE_ATTRIBUTE);
  186.         $td1->add_attribute("height""1"HTF_ITEMCASE_ATTRIBUTE);
  187.         $td2 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  188.         $td2->add_attribute("width""140"HTF_ITEMCASE_ATTRIBUTE);
  189.         $td2->add_attribute("height""1"HTF_ITEMCASE_ATTRIBUTE);
  190.         $td2->add_attribute("bgcolor""#DCDCDC");
  191.         $td2->add_attribute("colspan""3");
  192.         
  193.         $tr->add_column($td1);
  194.         $tr->add_column($td2);
  195.  
  196.         return $tr;
  197.     }
  198.  
  199. }
  200.  
  201. ?>

Documentation generated on Tue, 19 Sep 2006 06:21:33 +0900 by phpDocumentor 1.3.0