---
title: "Random Template - aber wie?"
url: "https://www.typo3.net/d/49502-random-template-aber-wie"
source: "typo3.net"
tags: ["Allgemein","Frage","PHP","Templates & Layouts"]
created: "2006-09-07"
last_reply: "2006-09-12"
replies: 24
solved: false
page: 1
pages: 1
lang: "de"
---

# Random Template - aber wie?

Allgemein · 24 Antworten · gestartet 2006-09-07

## Eröffnungsbeitrag

**electric-x** · 2006-09-07 · [Beitrag #1](https://www.typo3.net/d/49502-random-template-aber-wie/1)

Hallo typo3.net Forum,

und zwar möchte ich 2 verschiedene php Templates immer via random aufrufen lassen. Gibt es da was für den Befehl: template.file = fileadmin/template01.php ?

würde mich über ein Tipp freuen!

Danke :)

## Antworten

### [#2](https://www.typo3.net/d/49502-random-template-aber-wie/2) · einpraegsam.​net · 2006-09-07

Die Suche im Forum hilft in der Regel schnell:
[/d/48115-random-variablen-if-abfragen/3](https://www.typo3.net/d/48115-random-variablen-if-abfragen/3)

### [#3](https://www.typo3.net/d/49502-random-template-aber-wie/3) · electric-x · 2006-09-07

Danke für Deine Antwort. Aber was ich suche sind keine einzelnen Contentelemente die via Random angezeigt werden sollen, sondern komplett das Template an sich soll zwischen 2 PHP Dateien immer switchen im random Verfahren.

### [#4](https://www.typo3.net/d/49502-random-template-aber-wie/4) · einpraegsam.​net · 2006-09-07

Glaube nicht, dass TS so etwas bietet

### [#5](https://www.typo3.net/d/49502-random-template-aber-wie/5) · electric-x · 2006-09-07

hmmmm.. oder über eine zwischen php datei die dann einen Random Befehl beinhaltet? Aber das wird auch nicht klappen...

### [#6](https://www.typo3.net/d/49502-random-template-aber-wie/6) · einpraegsam.​net · 2006-09-07

Habe auch schon drüber nachgedacht, komme aber nur zu zweifelhaften Lösungen
(Per Cronjob Template File abändern und so ein Kack...)

### [#7](https://www.typo3.net/d/49502-random-template-aber-wie/7) · Unbekannter Benutzer · 2006-09-07

Also über TS direkt gehts nicht, aber über stdWrap.postUserFunc könntest du dir eine PHP-Funktion einbinden, die ein Template auswählt und den Pfad dazu zurück gibt.

### [#8](https://www.typo3.net/d/49502-random-template-aber-wie/8) · electric-x · 2006-09-07

Gibt es irgendwo was genaueres wie stdWrap.postUserFunc mit einer PHP Funktion zusammenarbeitet? das heißt es würde aus einer PHP Datei in der sich diese Randomanweisung befindet den Pfad ziehen und voila... So in der Theorie

### [#9](https://www.typo3.net/d/49502-random-template-aber-wie/9) · Unbekannter Benutzer · 2006-09-07

genau, deine template.file anweisung braucht ja einen String mit dem Pfad zu dem Template.

d.h. du brauchst in deiner Funktion am Ende nur irgendwie eines der beiden Templates mit Pfad zu returnen.

Eigenlich bekommt die Funktion nur den aktuellen Wert des Objekts auf das es angewendet wird (in deinem Fall keiner, da du ja nicht den Wert verändern willst) und der return der Funktion wird dann zum neuen Wert des Objekts.

### [#10](https://www.typo3.net/d/49502-random-template-aber-wie/10) · electric-x · 2006-09-07

#paralyzed# - also in der Theorie wie gesagt habe ich es verstanden nur in der Praxis siehts wohl anders aus. Ich bekomme den random Befehl hin der steckt in einer random.php - nur das mit typo3 zu verknüpfen über diesen befehl "stdWrap.postUserFunc". Beim google für diesen Befehl "stdWrap.postUserFunc" ist mir jetzt auch nichts konkretes zu meinem Problem aufgetaucht.

### [#11](https://www.typo3.net/d/49502-random-template-aber-wie/11) · Unbekannter Benutzer · 2006-09-07

oki, ich habs nicht probiert, aber ungefähr so sollte es gehen:

```typoscript
# 1. die Bibliothek einbinden

page.includeLibs.yourrandom = fileadmin/random.php # Pfad anpassen

# 2. Funktion aufrufen und Ergebnis an TEMPLATE übergeben, bitte Anfang an deine bedürfnisse anpassen

template.file.import.postUserFunc = derFunktionsname #hier bitte Name der Funktion

# alternativ, falls das oben nicht geht

template.file.import.stdWrap.postUserFunc = derFunktionsname
```

### [#12](https://www.typo3.net/d/49502-random-template-aber-wie/12) · electric-x · 2006-09-07

Danke!

leider läufts nicht so ganz. Das PHP Script lädt er schon mal rein und hat auch das test echo mit ausgegeben. Leider setzt er aber nicht den ausgegebenen Dateinamen ein.

Mein Typoscript sieht so aus (Auszug):

```typoscript
page.includeLibs.random_seite = fileadmin/random.php

page = PAGE
page {
   typeNum = 0
#   bodyTag = <body bgcolor ="#99CB00" topmargin="0" leftmargin="0">

   10 = TEMPLATE
   10.template = FILE
   10.template.file.import.stdWrap.postUserFunc = random_seite
```

PHP Script random.php

```php
<?php

function random_seite()
{
$page = rand(1, 2);
return "template".$page.".php";
}

?>
```

### [#13](https://www.typo3.net/d/49502-random-template-aber-wie/13) · electric-x · 2006-09-08

achja habs einmal mit StdWrap und auch ohne versucht. Komischerweise gibt er auch nicht "no template file found" oder so aus was er ja sonst auch macht oder?

### [#14](https://www.typo3.net/d/49502-random-template-aber-wie/14) · Unbekannter Benutzer · 2006-09-08

Liegen den die Templates direkt im root-Verzeichnis von TYPO ? Denn du gibst ja keinen Pfad mit an für die Templates.

### [#15](https://www.typo3.net/d/49502-random-template-aber-wie/15) · electric-x · 2006-09-08

Hast recht.

waren im fileadmin. hat aber trotzdem nichts verändert *grübel*

```php
<?php

function random_seite()
{
$page = rand(1, 2);
return "fileadmin"."/"."template".$page.".php";
}

?>
```

sieht nun so aus meine random.php

### [#16](https://www.typo3.net/d/49502-random-template-aber-wie/16) · Unbekannter Benutzer · 2006-09-08

bin gerade auch etwas ratlos, hast du nochmal mit und ohne stdWrap probiert?

### [#17](https://www.typo3.net/d/49502-random-template-aber-wie/17) · electric-x · 2006-09-08

ja *seufz* hat aber nicht geklappt.

### [#18](https://www.typo3.net/d/49502-random-template-aber-wie/18) · electric-x · 2006-09-08

Hat evtl. jemand eine Idee für eine andere Lösung?

### [#19](https://www.typo3.net/d/49502-random-template-aber-wie/19) · electric-x · 2006-09-11

*nach oben schieb*

### [#20](https://www.typo3.net/d/49502-random-template-aber-wie/20) · just2b · 2006-09-11

hab jetzt leider keine Lösung, aber wollte nur mal eines anmerken: Ist dir bewusst, dass das Caching ausgeschaltet sein muss und das Konsequenzen hat? > viel langsamer, indexed_search geht nicht

lg georg

### [#21](https://www.typo3.net/d/49502-random-template-aber-wie/21) · einpraegsam.​net · 2006-09-11

Es gibt doch eine Extension "Template Selector" oder so ähnlich - vielleicht lässt sich diese aufbohren?

### [#22](https://www.typo3.net/d/49502-random-template-aber-wie/22) · electric-x · 2006-09-11

stimmt die gibt es ja.

aber was just2b geschrieben hat leuchtet ein. Kein caching ist natürlich mist für die besucher wenn die seite immer neu runtergeladen wird... Aber es muss doch irgend eine lösung geben dafür.

Hintergrund ist der warum ich 2 Templates verwenden möchte: Es geht darum, dass oberhalb der Seite und rechts von der Seite verschiedene contents erscheinen müssen und diese in 2 Kampagnen erscheinen (2 Templates). Abhängig von der Kampagne erscheint dann oben "und" rechts immer der jeweilige inhalt. Das ganze soll mit einem random versehen sein. mache ich das ganze mit random content elementen wird dies wohl nicht gehen, da das eine content elemente abhängig vom anderen erscheinen muss...

### [#23](https://www.typo3.net/d/49502-random-template-aber-wie/23) · just2b · 2006-09-11

wie gesagt: am besten nimm template selector o.ä. wenn du bestimmte Seiten ein anderes Design geben willst. der rest wird IMO eher die besucher verwirren

georg

### [#24](https://www.typo3.net/d/49502-random-template-aber-wie/24) · electric-x · 2006-09-11

ich habe es jetzt über ein TS ansatzweise so geschafft wie ich das will. Random Inhaltselemente und über dieses alles in divs und css gesteuert. Nur es soll ja nicht immer alles sofort 100% funktionieren - nun stimmt wieder was nicht genau.

folgendes TS:

```typoscript
TOP = CONTENT
TOP {
table = tt_content
select {
pidInList = 151
orderBy = rand()
max = 2
where = colPos= 3
}
}
```

gut er zieht also aus meinem Menüpunkt 151 den Inhalt (Rand) und sortiert den via random - nur er hat ein Inhaltselement. Jetzt stellt sich die Frage wo kann bzw. was muss ich tun damit das TS sich per Zufall von 2 Menüpunkten zieht?

### [#25](https://www.typo3.net/d/49502-random-template-aber-wie/25) · electric-x · 2006-09-12

so habe nun das ganze noch abgeändert:

```typoscript
TOP = CONTENT
TOP {
table = tt_content
select {
pidInList = 151, 152
orderBy = rand()
max = 2
where = colPos= 3
}
}
```

durch das pidInList = 151, 152 dachte ich würde er die inhaltselemente zufällig dann aus 151 oder 152 sich ziehen. ist leider nicht so :(

---

Quelle: „Random Template - aber wie?“, typo3.net, https://www.typo3.net/d/49502-random-template-aber-wie
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
