---
title: "Template Marker ersetzten"
url: "https://www.typo3.net/d/95223-template-marker-ersetzten"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage"]
created: "2009-12-14"
last_reply: "2009-12-14"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# Template Marker ersetzten

Extensions › Entwicklung · 1 Antwort · gestartet 2009-12-14

## Eröffnungsbeitrag

**master celebrator** · 2009-12-14 · [Beitrag #1](https://www.typo3.net/d/95223-template-marker-ersetzten/1)

Hi Leute,

ich habe dieses Template und möchte die Marker ersetzten:

```php
<!-- ###MAINLISTE### -->
<form action="index.php" method="post">
    <input type="hidden" name="send" value="###SENDVALUE###" /> 
    
        <!-- ###REPEAT### -->  
            <div>###NUMBER###</div>
        <!-- ###REPEAT### -->
    
    <input type="submit" value="" />
</form>
<!-- ###MAINLISTE### -->
```

```html
$templateFile = $this->cObj->fileResource('EXT:fx_testextension/res/template.tmpl');
$template = $this->cObj->getSubpart($templateFile, '###MAINLISTE###'); 
$templateRepeat = $this->cObj->getSubpart($template, '###REPEAT###');

$content = $this->cObj->substituteMarker($template, '###SENDVALUE###', '1');    
		  
$repeat = '';
$marker = array();     

// For scheife die von 0-10 zählt ( warum kann man die hier nicht eintragen??)
	
	$marker['###NUMBER###'] =  $i;  
	$repeat .= $this->cObj->substituteMarkerArrayCached($templateRepeat, $marker);
//For ende

$content .= $this->cObj->substituteSubpart($template, '###REPEAT###', $repeat);
return $content;
```

Es kommt sowas bei raus, ist natürlich falsch mit den zwei Form Elementen:

```php
<form action="index.php" method="post">
  <input type="hidden" name="send" value="1" />
  <div>###NUMBER###</div>
  <input type="submit" value="" />
</form>
<form action="index.php" method="post">
  <input type="hidden" name="send" value="###SENDVALUE###" />
  <div>0</div>
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
  <div>9</div>
  <input type="submit" value="" />
</form>
```

Wie geht es richtig , ich kriege es einfach nicht hin.

## Antworten

### [#2](https://www.typo3.net/d/95223-template-marker-ersetzten/2) · timo_s · 2009-12-14

Hallo.

Du hast folgende Fehler gemacht, in Zeile 5 nimmst du das ganze Template und ersetzt nur den Marker ###SENDVALUE### und in Zeile 16 nimmst du abermals das ganze Template und ersetzt nun den Marker ###REPEAT###. So kommt es das du das <form>-Tag zweimal in deinem $content stehen hast.

Versuch mal folgendes:

```php
$templateFile   = $this->cObj->fileResource('EXT:fx_testextension/res/template.tmpl');
$template       = $this->cObj->getSubpart($templateFile, '###MAINLISTE###'); 
$templateRepeat = $this->cObj->getSubpart($template, '###REPEAT###');
                  
  // For scheife die von 0-10 zählt ( warum kann man die hier nicht eintragen??)
$repeat = '';
for($i=0; $i<10; $i++) {
  $marker = array('###NUMBER###' =>  $i);
  $repeat.= $this->cObj->substituteMarkerArrayCached($templateRepeat, $marker);
}

$marks = array(
  '###SENDVALUE###' => '1',
  '###REPEAT###'    => $repeat;
);
$content = $this->cObj->substituteMarkerArrayCached($template, $marks);

return $content;
```

Ist nur so runter geschrieben und nicht getestet. Sorry.

Entscheident hier sind die Zeilen 12 - 16, denn dort nehme ich nur einmal das $template und übergebe  der Methode ein Array ($marks) mit den Markern die ersetzt werden sollen.

Tipp: <http://doxygen.frozenkiwi.com/typo3/html/> und suche mal nach 'substituteMarkerArrayCached'

---

Quelle: „Template Marker ersetzten“, typo3.net, https://www.typo3.net/d/95223-template-marker-ersetzten
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
