Sådan benyttes komponenten Branding klassen
Først skal du inkludere den fil der beskriver komponenten, som en klasse fil
<? require_once(HTML_PACKAGE_PATH.'/Branding.php'); ?>
Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):
<? Branding::display($param1, $param2, $param3, ...); ?>
eller du kan lave en instance af komponenten og benytte metoderne direkte:
<? $object = new Branding($param1, $param2, $param3, ...); print $object->getHtml(); ?>
Sådan vises komponenten Branding klassen
Den fulde PHP kildekode for Branding klassen
<?php/** * @package layout * @see HTML_LAYOUT_PAGE_PATH.'/Branding.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_TABLE_COMPONENT_PATH.'/TableDataReader.php');/** * Generates a Branding Top * <code> * +-----------------------------+ * | some text | * +-----------------------------+ * * Usage: * $columns = array( * array('class'=>CSS_COPYRIGHT,KEY_LINK=>LINK_COPYRIGHT,), * array('class'=>CSS_COPYRIGHT,KEY_POWERED=>LINK_POWERED_BY,), * array('class'=>CSS_COPYRIGHT,KEY_VERSION=>CURRENT_VERSION,), * ); * $header = ''; // The header meta data * $default = ''; // The default meta data array * $limit = ''; // The limit to use for the array * $sort = true; * $datareader = DataReaderFactory::newDataReader($columns, $header, $default, $limit, $sort); * $html = new Branding($datareader, $text, $width, $class, $border, * $cellpadding, $cellspacing, $summary, $caption, $layout); * print $html->getHtml(); * Or * Branding::display($datareader, $text, $width, $class, $border, * $cellpadding, $cellspacing, $summary, $caption, $layout); * </code> * @package layout */class Branding extends TableDataReader { /** * Constructor * @param DataReader / array $datareader The Data Reader object OR an array * @param String $text The text of the table header * @param String $width The width of the table, default 100% * @param String $class The css class to use * @param String $border The table border * @param String $cellpadding The Cell Padding * @param String $cellspacing The Cell Spacing * @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:''; $theWidth = $width != ''?$width:BRANDING_VIEW_WIDTH; $theClass = $class != ''?$class:BRANDING_VIEW_CLASS; $theBorder = $border != ''?$border:BRANDING_VIEW_BORDER; $theCellPadding = $cellpadding != ''?$cellpadding:BRANDING_VIEW_CELLPADDING; $theCellSpacing = $cellspacing != ''?$cellspacing:BRANDING_VIEW_CELLSPACING; $theLayout = $layout != ''?$layout:BRANDING_VIEW_LAYOUT; $theDatareader = $this->getDatareader($datareader); parent::__construct($theDatareader, $theText, $theWidth, $theClass, $theBorder, $theCellPadding, $theCellSpacing, $summary, $caption, $theLayout); } /** * Get the DataReader to use for this class * @param $datareader The DataReader object, if defined * @return DataReader or array The DataReader object or an array of default data */ function getDatareader($datareader) { $theDatareader = $datareader; if ($theDatareader == '') { $brandingText = ''; $length = strlen(THE_CUSTOMER_DOMAIN_NAME); for ($i=0; $i < $length; $i++) { $ch = substr(THE_CUSTOMER_DOMAIN_NAME, $i, 1); switch (strtolower($ch)) { case 'a': case 'e': case 'i': case 'o': $brandingText .= '<span class="'.CSS_VOWELS.'">'.$ch."</span>\r\n"; break; default: $brandingText .= '<span class="'.CSS_NON_VOWELS.'">'.$ch."</span>\r\n"; break; } } $columns = array( array(KEY_PLAIN=>$brandingText,'class'=>CSS_BRANDING.' '.CSS_ALIGN_LEFT,), array('valign'=>'middle','text'=>LINK_TEXT_HOME,'title'=>LINK_TITLE_HOME,'href'=>LINK_HREF_HOME,'class'=>CSS_BRANDING.' '.CSS_ALIGN_RIGHT,'src'=>'/'.IMAGE_LOGO.'.gif','alt'=>LINK_TITLE_HOME), ); $theDatareader = $columns; } return $theDatareader; } /** * Get the CSS class Name for this component * @return String The CSS class name */ function getCssClass() { return CSS_BRANDING; } /** * 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_LAYOUT_SHOW, LAYOUT_SHOW, LAYOUT_SHOW_BRANDING); } /** * Builds the html for a Branding Top, and return it * @return String The html */ function getHtml() { $html = $this->html; if (LAYOUT_SHOW & LAYOUT_SHOW_BRANDING && HTTP_USER_AGENT!=HTTP_USER_AGENT_P900) { if (CACHE_LAYOUT && $this->getCacheFileName(CACHE_LAYOUT_PATH) != '' && file_exists($this->getCacheFileName(CACHE_LAYOUT_PATH))) { $html .= $this->content($this->getCacheFileName(CACHE_LAYOUT_PATH)); } else {// $html .= ' <td class="'.$class.'"><div class="'.CSS_ALIGN_CENTER.' '.$class.'">'.$montessori."</div></td>\r\n";// $html .= ' <td class="'.$class.'"> </td>'."\r\n";// $html .= " </tr>\r\n";// $html .= $table->getEnd(); $html .= $this->getColumns(); if (CACHE_LAYOUT) { $this->save($html, CACHE_LAYOUT_PATH); } } } else { $html .= $this->getMaximize(); } return $html; } /** * Display html * <code> * Usage: * Branding::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 of the table, default 100% * @param String $class The css class to use * @param String $border The table border * @param String $cellpadding The Cell Padding * @param String $cellspacing The Cell Spacing * @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 Branding($datareader, $text, $width, $class, $border, $cellpadding, $cellspacing, $summary, $caption, $layout); $html->addHtml(); }}?>
Den fulde HTML kildekode for Branding klassen
<? <!-- DEBUG: Branding --> <table id="BrandingId" width="100%" class="tableBorderLeft tableBorderRight basePrinter" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="layoutBranding baseOnepc" valign="top"><!-- DEBUG: Link --> <a class="layoutBranding" href="?layoutLAYOUT_SHOW=645" title="Klik her for at Minimere ... Branding"><!-- DEBUG: Images --> <img src="http://web-expert.dk/images/triangle.gif" width="10" height="10" alt="triangle.gif" class="layoutBranding" /> </a> </td> <td class="layoutBranding baseAlignLeft" valign="top"><span class="layoutNonVowels">W</span> <span class="layoutVowels">e</span> <span class="layoutNonVowels">b</span> <span class="layoutNonVowels">-</span> <span class="layoutVowels">e</span> <span class="layoutNonVowels">x</span> <span class="layoutNonVowels">p</span> <span class="layoutVowels">e</span> <span class="layoutNonVowels">r</span> <span class="layoutNonVowels">t</span> <span class="layoutNonVowels">.</span> <span class="layoutNonVowels">d</span> <span class="layoutNonVowels">k</span> </td> <td class="layoutBranding baseAlignRight" valign="middle"><!-- DEBUG: Link --> <!-- Forsiden --><a class="layoutBranding baseAlignRight" href="/" title="Til forsiden"><!-- DEBUG: Image --> <img src="http://web-expert.dk/images/logo.gif" alt="Til forsiden" class="layoutBranding baseAlignRight" /> <br />Forsiden</a><br /> </td> </tr> </table> ?>
Her er 'klasse metoderne' for Branding klassen:
Her er 'objekt variable' for Branding klassen: