tag

Die tag Klasse erzeugt HTML-Tags.

Beispiel

<html>
<!-- alles in einer Datei und abstrakt gehalten, nur zur Info also.-->
<body>
<!-- Top und Menu und kram-->
<div id="content">
<?
// Das Modul holen, also nen Objekt Mudule_Aktuelles
$module = getModuleFromURL(); 
 
// von mir aus kann das Modul auch selber schreiben, 
// aber so kann man das rechte Menu vorher ausgeben und rechts floaten
echo $module->getRightMenu();
echo $module->getHTML(); 
 
?>
<!-- Ein Beispiel was dabei rauskommt-->
<div>
<span class="artikeldatum">23.05.2007</span>
<h3>Tadabuftata</h3>
<div>Heute hauen wir auf die Pauke tralala.<a id="eineID" href="/artikel/tadabuftata">mehr</a></div>
<a href="#oben">oben</a>
</div>
<div>
<span class="artikeldatum">.....
<!-- usw. -->
 
<!-- Footer und kram-->
</body>
<?
class Module_Aktuelles{
 
 // Ein Array mit Artikel Klassen 
	protected $aktuelle_artikel = array();
 
 function __construct($parameter){
  // Fuer die Startseite bsp.
	// Hole z.B. alle Artikelanrisse und Ueberschriften usw. aus der Datenbank,
	// die nicht aelter als ein Jahr sind und pack die in $aktuelle_artikel
	// Der komplette Artikeltext oder BBCode usw. wird nicht benoetigt
 }
 
 // Alle Ueberschriften als Liste rechts fuer den schnellen Zugriff
 function getRightMenu(){
  $liste = new tag('ul');
	foreach($aktuelle_artikel as $curArtikel){
		$punkt = new tag('li',null,$curArtikel->getUeberschrift());
		$liste->add($punkt);
	}
	return $liste->toHTML();
 }
 
 // Die DIVs mit den Anrissen
 // Ist ist im Ernstfall sinnvoller, den Teil in der foreach
 // Schleife in der Artikel Klasse zusammenzubauen. Somit kann
 // das in mehreren Modulen benutzt werden.
 // und $artTag->add(new tag('h3',null,$curArtikel->getUeberschrift());
 // Ist auch kuerzer, aber hier nur mal zur veranschaulichung ausfuerhlich
 // fuer die class und id muss ich mir nochmal was ausdenken, damit
 // das einfach zu setzen ist
 function getHTML(){
	$content = new tag(); // Leeres Tag, ist nur ein Container
	$nachOben = new tag('a',array('href'=>'#oben'),'oben'); // brauchen wir oefter...
	foreach( $aktuelle_artikel as $curArtikel){
		$artTag = new tag('div');
		$artUeberschrift = new tag('h3',null,$curArtikel->getUeberschrift());
		$artDate = new tag('span',array('class'=>'artikeldatum'),$curArtikel->getArtikelDatum());
		$artAnriss = new tag('div');
		$artAnrissText = new tag(null,null,$curArtikel->getAnriss());// Ein Textnode
		// Ich 'missbrauche' jetzt mal Link aus form.inc.php :)
		// Das ist ein Link am Ende des Anrisses zum eigentlichen Artikel
		// Fehlt natürlich der Test und die URl ist auch nur ausgedacht
		// getName liefert einen eindeutigen String, das ist schoener als nur ne ID
		$artAnrissLink = new Link(0,'eineID','/artikel/'.$actArtikel->getName(),null,'mehr');
		$artAnrissLink = $artAnrissLink->tag(); // Wir brauchen nur das tag Objekt
		
		// Zusammenbauen
		$artTag->add($artDate); // Wird vieleicht nach rechts gefloated...
		$artTag->add($artUeberschrift);
		$artAnriss->add($artAnrissText);
		$artAnriss->add($artAnrissLink);
		$artTag->add($artAnriss);
		$artTag->add($nachOben); // Wieder nach oben
		
		$content->add($artTag);
	}
	return $content->toHTML();
 }
 
}
 
?>
</html>
 
klassen/tools/tag.txt · Zuletzt geändert: 2007/01/04 22:44 von oli
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki