Sådan benyttes komponenten MenuTab klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/MenuTab.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? MenuTab::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new MenuTab($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten MenuTab klassen
Den fulde PHP kildekode for MenuTab klassen
<?php/** * @package menu * @see HTML_MENU_PAGE_PATH.'/MenuTab.php' * @copyright (c) http://Finn-Rasmussen.com * @license http://Finn-Rasmussen.com/license/ myPHP License conditions * @author http://Finn-Rasmussen.com * @version 1.11 * @since 27-nov-2009 *//** * The required files */require_once(HTML_MENU_PAGE_PATH.'/MenuHorizontal.php');/** * Generates a Menu Tab element * <code> * +-------------------------------------+ * | menu1 | menu2 | menu3 | ... | menux | * +-------------------------------------+ * Usage: * $menu = new MenuTab($datareader, $text, $width, $class, $border, * $cellpadding, $cellspacing, $summary, $caption, $layout); * print $menu->getHtml(); * Or * MenuTab:display($datareader, $text, $width, $class, $border, * $cellpadding, $cellspacing, $summary, $caption, $layout); * </code> * @package menu */class MenuTab extends MenuHorizontal { /** * Constructor * @param DataReader / array $datareader The Data Reader object OR an array * @param String $text The text header for the table * @param String $width The Width for the table * @param String $class The CSS Class name to use * @param String $border The Border * @param String $cellpadding The CellSpacing * @param String $cellspacing The CellPadding * @param String $summary The Summary * @param String $caption The Caption * @param String $layout The layout to use */ function __construct($datareader=null, $text='', $width='', $class='', $border='', $cellpadding='', $cellspacing='', $summary='', $caption='', $layout='') { $theText = $text != ''?$text :MENU_TAB_TEXT; $theWidth = $width != ''?$width:MENU_TAB_VIEW_WIDTH; $theClass = $class != ''?$class:MENU_TAB_VIEW_CLASS; $theBorder = $border != ''?$border:MENU_TAB_VIEW_BORDER; $theCellpadding = $cellpadding != ''?$cellpadding:MENU_TAB_VIEW_CELLPADDING; $theCellspacing = $cellspacing != ''?$cellspacing:MENU_TAB_VIEW_CELLSPACING; $theLayout = $layout != ''?$layout:MENU_TAB_VIEW_LAYOUT; parent::__construct($datareader, $theText, $theWidth, $theClass, $theBorder, $theCellpadding, $theCellspacing, $summary, $caption, $theLayout); } /** * Get the CSS class Name for this component * @return String The CSS class name */ function getCssClass() { return CSS_MENU_TAB; } /** * Toogle the request parameters which will minimize or maximize this component * @return array The array of key=>value pair */ function getMinimize() { return $this->getToogle(REQUEST_LINK_SHOW, LINK_SHOW, LINK_SHOW_MENU_TAB); } /** * Get the html for the Tab menu links * @return String The html */ function getHtml() { // TODO, TabStart, TabEnd, etc. CSS $html = $this->html; if (LINK_SHOW & LINK_SHOW_MENU_TAB && HTTP_USER_AGENT!=HTTP_USER_AGENT_P900) { $html .= "<!-- MenuTab -->\r\n"; if (CACHE_MENU && $this->getCacheFileName(CACHE_MENU_PATH) != '' && file_exists($this->getCacheFileName(CACHE_MENU_PATH))) { $html .= $this->content($this->getCacheFileName(CACHE_MENU_PATH)); } else { $html .= $this->getColumns(); if (CACHE_MENU) { $this->save($html, CACHE_MENU_PATH); } } } else { $html .= $this->getMaximize(); } return $html; } /** * Display html * <code> * Usage: * MenuTab::display($datareader, $text, $width, $class, $border, * $cellpadding, $cellspacing, $summary, $caption, $layout); * </code> * @static * @param DataReader / array $datareader The Data Reader object OR an array * @param String $text The text header for the table * @param String $width The Width for the table * @param String $class The CSS Class name to use * @param String $border The Border * @param String $cellpadding The CellSpacing * @param String $cellspacing The CellPadding * @param String $summary The Summary * @param String $caption The Caption * @param String $layout The layout to use */ public static function display($datareader=null, $text='', $width='', $class='', $border='', $cellpadding='', $cellspacing='', $summary='', $caption='', $layout='') { $html = new MenuTab($datareader, $text, $width, $class, $border, $cellpadding, $cellspacing, $summary, $caption, $layout); $html->addHtml(); }}?>
Den fulde HTML kildekode for MenuTab klassen
<? <!-- DEBUG: MenuTab --> <!-- MenuTab --> <table id="MenuTabId" width="100%" class="tableBorderLeft tableBorderRight basePrinter" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="menuTab" valign="top">Der er ikke fundet noget </td> </tr> </table> ?>
Her er 'klasse metoderne' for MenuTab klassen:
Her er 'objekt variable' for MenuTab klassen: