ich hab ein kleines include geschrieben, dass innerhalb eines tags den wert ###RND_BG### durch eine zufallszahl zwischen 1 und 13 ersetzen soll, dazu hab ich eine inc datei erstellt, die per typoscript korrekt eingebunden:
page.includeLibs.rndbglib = fileadmin/schlingel/templates/rndbg.inc
.
.
.
page.10.marks.RND_BG = USER_INT
page.10.marks.RND_BG.userFunc = user_rndbg->build
die rndbg.inc sieht so aus:
<?php
class user_rndbg {
var $cObj;
function build() {
global $TSFE;
{
echo rand(1,13)
}
}
}
?>
wenn man jetzt mal nen blick auf http://www.schlingel.de wirft wird man einen tollen error sehen und ich versteh einfach nicht was an der zeile
echo rand(1,13)
falsch sein soll.
Hallo,
wie wäre es mit
echo rand(1,13);
1:23 Uhr, naja... verständlich #giggle#
Grüße
oha! es war wohl einfach zu spät, dankesehr!
jetzt hab ich ein anderes problem, hier ein auszug aus meinen html template:
<td background="fileadmin/schlingel/templates/img/rnd_bg/color###RND_BG###.gif"> </td>
und dazu mein TS von oben, das sollte doch eigentlich den ###RND_BG### Teil mit einer zufallszahl von 1-13 ersetzten oder? es passiert aber etwas merkwürdiges:
http://www.schlingel.de
der vollständigkeit halber hier mal mein ganzes setup TS:
# Default PAGE object:
page = PAGE
page.typeNum = 0
page.config.intTarget = _top
page.stylesheet = media/scripts/defaultstylesheet.css
page.bodyTag = <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#33333" vlink="#333333" alink="#333333">
page.includeLibs.rndbglib = fileadmin/schlingel/templates/rndbg.inc
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/schlingel/templates/template.html
workOnSubpart = DOKUMENT
marks.INHALT = CONTENT
marks.INHALT.table = tt_content
}
page.10.marks.RND_BG = USER_INT
page.10.marks.RND_BG.userFunc = user_rndbg->build
page.10.marks.MENU = HMENU
page.10.marks.MENU.entryLevel = 0
page.10.marks.MENU.1 = TMENU
page.10.marks.MENU.1 {
expAll = 1
NO.allWrap = <font face=Verdana size="1"><b>|</b></font><br>
}
page.10.marks.MENU.2 = TMENU
page.10.marks.MENU.2 {
expAll = 1
NO {
allWrap = <font face=Verdana size="1" color=black><b>| </b></font><br>
beforeImg = media/bullets/bullet1_n.gif
beforeROImg = media/bullets/bullet1_h.gif
RO = 1
}
}
page.10.marks.TITLE_GMENU = HMENU
page.10.marks.TITLE_GMENU.1 = GMENU
page.10.marks.TITLE_GMENU.1 {
expAll = 1
NO {
XY = [10.w]+10 , 14
backColor = #666666
10 = TEXT
10 {
text.field = title
fontSize = 9
fontColor = #FFFFFF
offset = 5, 9
niceText = 0
}
}
ACT < .NO
ACT=1
ACT {
10.fontColor=#003CFF
}
RO < .NO
RO=1
RO {
10.fontColor=#6DB2FF
}
}
hi,
ich habe dasselbe problem - der inhalt des markers wird einfach an den anfang des generierten source-code gestellt.
hast du dafür eine lösung gefunden?
leider nicht und ich verstehs auch einfach nicht
Hallo Schlingel,
Dank deines Hinweises habe ich es geschafft bei mir eine Zufallszahl erzeugen zu lassen.
Ich hatte noch das Problem, dass ich an zwei Stellen in meinem HTML-Template die gleiche Zufallszahl benötigte:
In meinem HTML-Template habe ich die Platzhalter BGNumber_1 und BGNumber_2 stehen und so werden die Platzhalter schön mit den gleichen Zufallszahlen ersetzt.
Dabei habe ich deine Funktion für die Zufallszahl übernommen und etwas abgeändert:
<?php
if (!defined ("TYPO3_MODE")) die ("Access denied.");
class user_RandomNumber {
var $cObj; // Reference to the parent (calling) cObj set from TypoScript
function init() {
$GLOBALS['user_RandomNumber']['count'] = 0;
$GLOBALS['user_RandomNumber']['number'] = 0;
}
function create() {
$GLOBALS['user_RandomNumber']['count'] += 1;
if ($GLOBALS['user_RandomNumber']['count'] == 1) {
$GLOBALS['user_RandomNumber']['number'] = rand(0, 5);
} else {
$GLOBALS['user_RandomNumber']['count'] == 0;
}
return $GLOBALS['user_RandomNumber']['number'];
}
}
?>
Des Weiteren habe ich anstatt der marks einfach subparts im TS-Template-Setup verwendet:
includeLibs.randomnumberlib = fileadmin/scripts/RandomNumber.php
BGNumberInit = USER_INT
BGNumberInit.userFunc = user_RandomNumber->init
BGNumber_1 = USER_INT
BGNumber_1.userFunc = user_RandomNumber->create
BGNumber_2 = USER_INT
BGNumber_2.userFunc = user_RandomNumber->create
--- schnipp ---
# Template part for the BODY
template.bodyTemplate = TEMPLATE
template.bodyTemplate {
template = FILE
template.file = fileadmin/templates/template01.html
workOnSubpart = DOCUMENT_BODY
subparts.BGNumber_1 < BGNumber_1
subparts.BGNumber_2 < BGNumber_2
}
Diese Lösung ist nicht so elegant wie die RandomImage-Erweiterung von www.typo3.org, aber sie erfüllt ihren Zweck für mich.