Pomocná trieda pre tvorbu HTML stránok
Trieda pracuje s knižnicou Smarty.
/**
* Creating HTML pages
*
* @author Robert Gonda <robert.gonda@gmail.com>
*/
class Page {
public $smarty;
public $cssFiles;
public $template = '';
public $content;
public $title = 'TLA Consulting Pty Ltd';
public $keywords = 'TLA Consulting, Three Letter Abbreviation, some of my best friends are search engines';
public $buttons = array(
array( 'name' => 'Domov', 'url' => 'home.php' ),
array( 'name' => 'Kontakt', 'url' => 'contact.php' ),
array( 'name' => 'Mapa stránok', 'url' => 'map.php' ),
);
/**
* Create page class, create smarty class
*
* @return void
*/
public function __construct() {
require( 'libs/Smarty.class.php' );
$this->smarty = new Smarty();
$this->smarty->compile_check = true;
$this->smarty->debugging = false;
}
/**
* Set internal variable value
*
* @param string $name: name of variable
* @param string $value: new value of variable
* @return void
*/
public function __set( $name, $value ) {
$this->$name = $value;
}
/**
* Render HTML output
*
* @return void
*/
public function display() {
$this->displayTitle();
$this->displayKeywords();
$this->displayStyles();
$this->displayMenu( 'menu', $this->buttons );
$this->smarty->assign( 'content', $this->content );
$this->smarty->display( $this->template );
}
public function displayTitle() {
$this->smarty->assign( 'title', htmlentities( $this->title ) );
}
public function displayKeywords() {
$this->smarty->assign( 'keywords', '<meta name="keywords" content="'.htmlentities( $this->keywords ).'" />' );
}
public function displayStyles() {
foreach( $this->cssFiles as $cssFile )
$out .= '<link rel="stylesheet" type="text/css" href="'.$cssFile.'" />'."\n";
$this->smarty->assign( 'styles', $out );
}
public function displayMenu( $name, $buttons ) {
$this->smarty->assign( $name, $buttons );
}
}
Použitie triedy na vlastnej stránke
V príslušných adresároch musíme mať pripravenú HTML šablónu (index.tpl) a CSS súbor (style.css). Do premennej $content je priradený vlastný obsah stránky.
require ('page.php');
$homepage = new Page();
$homepage->cssFiles['css'] = 'templates/css/style.css';
$homepage->template = '../templates/tmpl/index.tpl';
$homepage->content = '
<p>
Aliquam elementum. Integer sapien purus, ornare et, bibendum sed, varius vitae, sapien. Mauris hendrerit eros sed magna. Phasellus quis sem. Suspendisse vulputate. Morbi commodo adipiscing turpis. Maecenas molestie dictum mi. Pellentesque eget tortor nec diam tempus tincidunt. Vestibulum eget ligula. Fusce pellentesque eleifend magna. Donec at nisi.
</p>
<p>
Cras aliquet condimentum nisl. Mauris in purus ut enim posuere tincidunt. Donec consectetuer, tellus eget adipiscing eleifend, pede leo faucibus ante, quis aliquam urna risus non urna. Suspendisse a erat ac dui mattis pulvinar. Integer at nulla. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam erat volutpat. Donec tempor vehicula ante. Vestibulum pretium. Quisque placerat ullamcorper enim. Sed mauris tellus, iaculis id, laoreet eget, tincidunt aliquam, mi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus eget est. Nulla massa. Nam et odio. Aliquam erat volutpat. Vestibulum nunc quam, laoreet sagittis, tristique id, malesuada consectetuer, elit.
</p>
<p>
Aliquam erat volutpat. Quisque et odio eget purus semper lobortis. Pellentesque eget nunc vel ligula lobortis sodales. In mollis varius tortor. Suspendisse nec risus vel dolor tristique mollis. Suspendisse sollicitudin malesuada mauris. Integer pretium interdum felis. Morbi sed ipsum. Fusce vel magna et arcu mattis interdum. Fusce hendrerit arcu ac odio. Duis volutpat aliquam justo. Nunc fermentum. Quisque eu lorem at ante egestas bibendum. Nulla vel leo. Sed sem lectus, iaculis ut, ultrices a, tincidunt vitae, pede. Nam congue mi tristique lacus.
</p>
';
$homepage->display();
Generátor typoscriptu
Vytvára typoscript pre bežné použitie. Generátor je jednoduchý na obsluhu, stačí vyplniť zopár položiek formulára.