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

Source for file htf_tlb_sample_hp_leftmenu.phl

Documentation is available at htf_tlb_sample_hp_leftmenu.phl

  1. <?php
  2. /**
  3.  * htf_tlb_sample_hp_leftmenuクラス
  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_leftmenu.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.     * 現在選択中のmenuitemに該当するID
  36.     * 
  37.     * @access public
  38.     * @var string 
  39.     ***/
  40.     var $selected_id;
  41.     
  42.     /**
  43.      * コンストラクタ
  44.      *
  45.      * 引数の設定値からHP左メニューオブジェクトを生成します。
  46.      *
  47.      * @param     menu    $menu 左メニュー用メニューオブジェクト
  48.      * @return    void 
  49.      ***/
  50.     function htf_tlb_sample_hp_leftmenu($menu=null{
  51.  
  52.         $this->menu = $menu;
  53.         
  54.         if (is_null($this->menu)) {
  55.             $this->menu = new htf_dat_menu();
  56.         }
  57.         $this->selected_id = "";
  58.         
  59.         return;
  60.     }
  61.     
  62.     /**
  63.      *
  64.      * HP左メニューHTMLタグを生成します。
  65.      *
  66.      * @access  public
  67.      * @return string 
  68.      ***/
  69.     function get_htmltag({
  70.         
  71.         /* 全体・タイトル行設定 */
  72.         //テーブルタグ    
  73.         //tdタグ(空行)
  74.         $td_dummy new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  75.         $td_dummy->add_attribute("width","10");
  76.         $td_dummy->add_attribute("bgcolor""#DCDCDC");
  77.         //tdタグ(タイトル行・矢印)
  78.         $td_arrow new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  79.         $td_arrow->add_attribute("align","left");
  80.         $td_arrow->add_attribute("valign","top");
  81.         $td_arrow->add_attribute("width","10");
  82.         $td_arrow->add_attribute("bgcolor""#DCDCDC");
  83.         $td_arrow->add_content("<b>≫</b>");
  84.         //tdタグ(タイトル行・リンク)
  85.         $td_title new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  86.         $td_title->add_attribute("align","left");
  87.         $td_title->add_attribute("valign","top");
  88.         $td_title->add_attribute("bgcolor""#DCDCDC");
  89.         $td_title->add_content('<b>'.$this->menu->get_textlinktag().'</b>');
  90.         //trタグ(タイトル行)
  91.         $tr new htf_tag_tr(HTF_ITEMCASE_ELEMENT);
  92.         $tr->add_column($td_dummy);
  93.         $tr->add_column($td_arrow);
  94.         $tr->add_column($td_title);
  95.         $tr->add_attribute("valign""top");
  96.         //テーブルタグに行・属性追加
  97.         $tbl->add_row_tbody($tr);
  98.         $tbl->add_attribute("width","170");
  99.         $tbl->add_attribute("cellspacing","0");
  100.         $tbl->add_attribute("cellpadding","0");
  101.         $tbl->add_attribute("border","0");
  102.         $tbl->add_attribute("bgcolor","#F0F0F0");
  103.  
  104.         /* 子メニュー設定 */
  105.         //tdタグ(空行)
  106.         $td_dummy2 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  107.         $td_dummy2->add_attribute("width","10");
  108.         $td_dummy2->add_attribute("bgcolor""#F0F0F0");
  109.         //tdタグ(ボディ行・矢印)
  110.         $td_arrow2 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  111.         $td_arrow2->add_attribute("align","left");
  112.         $td_arrow2->add_attribute("valign","top");
  113.         $td_arrow2->add_attribute("width","10");
  114.         $td_arrow2->add_attribute("bgcolor""#F0F0F0");
  115.         $td_arrow2->add_content("≫");
  116.         //tdタグ(ボディ行・選択行・矢印)
  117.         $td_arrow3 new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  118.         $td_arrow3->add_attribute("align","left");
  119.         $td_arrow3->add_attribute("valign","top");
  120.         $td_arrow3->add_attribute("width","10");
  121.         $td_arrow3->add_attribute("bgcolor""#F0F0F0");
  122.         $td_arrow3->add_content("<b>≫</b>");
  123.         
  124.         for ($i=0;$i count($this->menu->arr_menuitem);$i++{
  125.             if (htf_is_existsval($this->menu->arr_menuitem[$i]->url)) {
  126.                 //タグ生成(tr/tdを作成して、$tblに追加する)
  127.                 $trdat new htf_tag_tr(HTF_ITEMCASE_ELEMENT);
  128.                 $tdmenu new htf_tag_td(HTF_ITEMCASE_ELEMENT);
  129.                 $trdat->add_column($td_dummy2);
  130.                 if (!strcmp($this->menu->arr_menuitem[$i]->id$this->selected_id)) {
  131.                     $strret '<b>'.$this->menu->arr_menuitem[$i]->get_textlinktag().'</b>';
  132.                     $tdmenu->add_content($strret);
  133.                     $trdat->add_column($td_arrow3);                                        
  134.                     $trdat->add_column($tdmenu);
  135.                 else {
  136.                     $strret $this->menu->arr_menuitem[$i]->get_textlinktag();
  137.                     $tdmenu->add_content($strret);
  138.                     $trdat->add_column($td_arrow2);                    
  139.                     $trdat->add_column($tdmenu);
  140.                 }
  141.                 $tbl->add_row_tbody($trdat);
  142.             }
  143.         }
  144.         return $tbl->get_htmltag();
  145.     }
  146. }
  147.  
  148. ?>

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