---
title: "Extension mit Templatefile"
url: "https://www.typo3.net/d/49964-extension-mit-templatefile"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2006-09-14"
last_reply: "2006-09-14"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# Extension mit Templatefile

Extensions › Entwicklung · 4 Antworten · gestartet 2006-09-14

## Eröffnungsbeitrag

**tobias_sa84** · 2006-09-14 · [Beitrag #1](https://www.typo3.net/d/49964-extension-mit-templatefile/1)

Hallo zusammen,

habe folgendes Problem

habe eine Extension die mir eine Preistabelle aus der DB erstellen soll, jedoch gelingt mir das ersetzen mit Markern in dem Template file nicht so recht.

Also habe zwei schleifen:

```php
//diese holt die Preiskategorien aus der DB
while(row1=mysql_fetch_array($res1)){
  $kategory=$row1['kategorie'];
  $kategory_beschreibung=$row1['beschreibung']; 
  //dies holt mir die dazugehörigen Preisnamen und Preise
  while(row2=mysql_fetch_array($res2)){
    $preisname=$row2['preisname'];
    $preis=$row2['preis'];
  }
}
```

Die Ausgabe soll über ein Template laufen und wie folgt aussehen:

```html
<table>
   <tr><td> Kategoriename1 </td></tr>
   <tr><td> Kategoriepreis11 = preis11 </td></tr>
   <tr><td> Kategoriepreis12 = preis12 </td></tr>
   <tr><td> Kategoriepreis13 = preis13 </td></tr>
   <tr><td> Kategoriename2 </td></tr>
   <tr><td> Kategoriepreis21 = preis21 </td></tr>
   <tr><td> Kategoriepreis22 = preis22 </td></tr>
   <tr><td> Kategoriepreis23 = preis23 </td></tr>
</table>
```

Mein Problem liegt beim ersetzen der Marker im Template mit dem Inhalt.

Also ich bekomme immer wieder die das gesamte Template aus gegeben. Kann mir da wer helfen?

Danke schon einmal !

Gruß

Tobias

## Antworten

### [#2](https://www.typo3.net/d/49964-extension-mit-templatefile/2) · just2b · 2006-09-14

Hallo,

schau dir hier mal das Bsp an: <http://wiki.typo3.org/index.php/Extension_Development%2C_using_HTML-Templates> => insb. Subparts Are useful for filling rows.

lg georg

### [#3](https://www.typo3.net/d/49964-extension-mit-templatefile/3) · tobias_sa84 · 2006-09-14

Also vielen Dank für die Hilfe, aber auf der Seite war ich schon, die hat mir nicht geholfen.

hier mein Template:

```html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<!-- ###DOCUMENT_BODY### -->
	<table width="300">
	<!-- ###PREIS_LISTE### BEGINN -->
		<tr>
			<td colspan="3">###CATEGORY###</td>
		</tr>
		<tr>
			
			<!-- ###PREISE### BEGINN-->
			<td>###PREIS_NAME###</td><td>=</td><td>###PREIS###</td>
			<!-- ###PREISE### ENDW-->
		</tr>
		<tr>	
			<td colspan="3">###INFO###</td>
		</tr>
	<!-- ###PREIS_LISTE### ENDE -->	
<!-- ###DOCUMENT_BODY### -->
</body>
</html>
```

kann mir nicht wer da auf die Sprünge helfen, also bei mir wirde die kategorie bei jedem eintrag wieder mit ausgebegen

hier der php code

```php
    $this->templateCode= $this->cObj->fileResource($conf["tmpl"]);
    $template = array();
    $template['total'] = $this->cObj->getSubpart($this->templateCode,'###DOCUMENT_BODY###');
    $template['item'] = $this->cObj->getSubpart($template['total'],'###PREIS_LISTE###');
  $result=$GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","tx_tspricelist_category"," deleted = 0 AND hidden = 0"); 
  while($row=mysql_fetch_array($result)){
     $markerArray['###CATEGORY###'] = $row['category'];
     $markerArray['###INFO###'] = $row['info'];
  $result2=$GLOBALS["TYPO3_DB"]->exec_SELECTquery("*","tx_tspricelist_prices","category='".$row['uid']."' AND deleted = 0 AND hidden = 0");
     while($row2=mysql_fetch_array($result2)){
         $markerArray['###PREIS_NAME###']=$row2['pricename'];
         $markerArray['###PREIS###']=$row2['price'];
	 $content_item .= $this->cObj->substituteMarkerArrayCached($template["item"], $markerArray, array(), array());
    }
   $subpartArray['###PREIS_LISTE###'] = $content_item; 
  }
		
$content = $this->cObj->substituteMarkerArrayCached($template['total'], $markerArray, $subpartArray, $wrappedSubpartContentArray);
```

### [#4](https://www.typo3.net/d/49964-extension-mit-templatefile/4) · just2b · 2006-09-14

Habs mir jetzt nicht angeschaut, geb ich ehrlich zu, weils manchmal die nadel im Heuhaufen ist, hier ein funktionierender Code:

```php
    $markerArray = array();
    $wrappedSubpartArray = array();
		$template = array();
		$template["total"] = $this->cObj->getSubpart($this->templateCode,"###LIST_TEMPLATE###");
		$template["item"] = $this->cObj->getSubpart($template["total"],"###ITEM_SINGLE###");		
		
		//prepare query
		$fields = 'uid, title, image';
		$tables = 'tx_rgthumbs_image';

		$temp_where='pid IN ('.$this->conf['source'].') AND hidden=0 AND deleted=0';
		$res = $TYPO3_DB->exec_SELECTquery($fields, $tables, $temp_where,'', '','');
  
    // generating list
		while($row = $TYPO3_DB->sql_fetch_assoc($res)) {
  		$markerArray = array();
  		$template["detail"] = $this->cObj->getSubpart($this->templateCode,"###DETAIL_TEMPLATE###");

  		// imageConfig of thumbs
      $img = explode(',',$row["image"]);
  		$imgTSConfig = Array();
  		$imgTSConfig['file'] = 'uploads/tx_rgthumbs/'.$img[0];
  		$imgTSConfig['altText'] = $row["title"];
  		$imgTSConfig['titleText'] = $row["title"];
  		$imgTSConfig['file.']['maxW'] = $this->conf['listMaxW'];
  		$imgTSConfig['file.']['maxH'] = $this->conf['listMaxH'];
  		$markerArray['###IMAGE###'] = $this->cObj->IMAGE($imgTSConfig);
  		$wrappedSubpartArray['###LINK###'] = explode('|', $this->pi_linkTP_keepPIvars('|', Array('uid'=>$row["uid"]), 1,1,$this->conf['detail']));
  		
  		// current thumbnail
      if ($uid == $row['uid']) $markerArray['###ACT###'] = 'rgthumbs-act';
      else $markerArray['###ACT###'] = 'rgthumbs';
  		  
			$content_item .= $this->cObj->substituteMarkerArrayCached($template["item"],$markerArray, $subpartArray,$wrappedSubpartArray );			
		} # end while
		$subpartArray["###CONTENT###"] = $content_item;

		$content .= $this->cObj->substituteMarkerArrayCached($template["total"],$markerArray, $subpartArray,$wrappedSubpartArray);
		return $content;
```

Template:

```html
		<!-- ###LIST_TEMPLATE### -->
Liste
<div class="rgthumbs-list">
<ul>
<!-- ###CONTENT### --><!-- ###ITEM_SINGLE### -->
  <li class="###ACT###"><!-- ###LINK### -->###IMAGE###<!-- ###LINK### --></li>
<!-- ###ITEM_SINGLE### --><!-- ###CONTENT### -->
</ul>
</div>
<!-- ###LIST_TEMPLATE### -->
```

viel erfolg
georg

### [#5](https://www.typo3.net/d/49964-extension-mit-templatefile/5) · tobias_sa84 · 2006-09-14

Tut mir leid aber dieses Beispiel hilft mir gar nicht weiter, vor allem ohne erklärung.

Also nochmal zur erläuterung

Habe Preiskategorien und dazugehörige Preise aus verschiedenen Tabellen die ich über 2 Schleifen auslese, die erste SChleife holt die Kategorie und die zweite die dazu gehörigen Preis.

Sollte dann so aussehen

Preise Getränke:
   Kalte Getränke - 0,80€
   Warme Getränke - 0,80€
Preise belegte Brote:
   Sandwitch - 1,20€
   Brötchen  - 1,40€

Das Problem ist momentan wird es so ausgeben:

Preise Getränke:
   Kalte Getränke - 0,80€
Preise Getränke:
   Warme Getränke - 0,80€
Preise belegte Brote:
   Sandwitch - 1,20€
Preise belegte Brote:
   Brötchen  - 1,40€

Wäre schön wenn wer weiter wüßte!

Vielen Dank für eure Geduld.

Gruß

Tobias
[/list]

---

Quelle: „Extension mit Templatefile“, typo3.net, https://www.typo3.net/d/49964-extension-mit-templatefile
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
