Beitrag von markus (1013 Beiträge) am Mittwoch, 2.Juli.2014, 17:22.
loop nur in bestimmten Zeitfenster ausführen
Hallo,
ich habe in einem Template ein loop, welches ich nur in einem bestimmten Zeitfenster drin haben möchte, z.B. von 20 - 6 Uhr.
Nach was such ich da am besten in der Doku / Forum.
Findet Einsatz in ner 2er oder 3er Lizenz, falls das wichtig ist.
Danke
Markus
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 2.Juli.2014, 20:39.
Re: loop nur in bestimmten Zeitfenster ausführen
statt einem loop nimmst du get
<perl>
if(datum("jetzt","Stunde") >=20 || datum("jetzt","Stunde") < 6){
get "","dbname";
while(get_next "dbname"){
# hier alles rein, was sonst im loop steht
}
}
</perl>
Antworten
Beitrag von markus (1013 Beiträge) am Donnerstag, 3.Juli.2014, 10:46.
Re: Re: loop nur in bestimmten Zeitfenster ausführen
Das ist immer so einfach #:-|
Wie ist das denn dann , wenn ich 2 Blöcke habe?
So klappts leider nicht.
markus
<perl>
if(datum("jetzt","Stunde") >=1 || datum("jetzt","Stunde") < 6){
get "","db";
while(get_next "db"){
# hier alles rein, was sonst im loop steht
out"111";
}
}
</perl>
<perl>
if(datum("jetzt","Stunde") >=7 || datum("jetzt","Stunde") < 9){
get "","db";
while(get_next "db"){
# hier alles rein, was sonst im loop steht
out"111";
}
}
</perl>
Antworten
Beitrag von richard (1187 Beiträge) am Donnerstag, 3.Juli.2014, 13:56. WWW: posaunenchor-rhoden.de
Re: Re: loop nur in bestimmten Zeitfenster ausführen
Wenn Du eine Ausgabe zwischen 1 und 6 sowie zwischen 7 und 9 brauchst, so:
<perl>
if(datum("jetzt","Stunde") >=1 && datum("jetzt","Stunde") < 6){
get "","db";
while(get_next "db"){
# hier alles rein, was sonst im loop steht
out"111";
}
}
</perl>
<perl>
if(datum("jetzt","Stunde") >=7 && datum("jetzt","Stunde") < 9){
get "","db";
while(get_next "db"){
# hier alles rein, was sonst im loop steht
out"112";
}
}
</perl>
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 3.Juli.2014, 14:20.
Re: Re: Re: loop nur in bestimmten Zeitfenster ausführen
harhar... in die Falle getappt :)
if(datum("jetzt","Stunde") >=20 || datum("jetzt","Stunde") < 6){
wenn stunde >= 20 (geht nur bis 24) ODER stunde < 6 (geht auch nur 0-6)
wenn du aber was am Tage machen willst, musst du mit UND arbeiten
if(datum("jetzt","Stunde") >=1 || datum("jetzt","Stunde") < 6){
wenn stunde >= 1 ist ja schon bei 8 uhr auch wahr - ist ja größer 1, also muss es mit UND eingegrenzt werden
also wie Richard schon schrieb:
if(datum("jetzt","Stunde") >=1 && datum("jetzt","Stunde") < 6){
nebenbei brauchst du dann beide blocke nur in ein <perl>...</perl> setzen
Antworten
Beitrag von markus (1013 Beiträge) am Freitag, 4.Juli.2014, 08:43.
Re: Re: Re: Re: loop nur in bestimmten Zeitfenster ausführen
Ihr seid Füchse '-)
Kann man ein <perl> oder <include> auch zeitversetzt laden/einbinden?
Wenn die Seite mit allen Scripten geladen ist, dann erst das <include> holen?
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 4.Juli.2014, 11:35.
Re: Re: Re: Re: Re: loop nur in bestimmten Zeitfenster ausführen
Antworten
Beitrag von markus (1013 Beiträge) am Freitag, 4.Juli.2014, 12:46.
Re: Re: Re: Re: Re: loop nur in bestimmten Zeitfenster ausführen
Ich bin am rumtesten.
Durch das <perl> werden 16.000 Links generiert, was wohl seine Zeit dauert :-) und dadurch das laden der kompletten Website behindert.
Daher wäre es schön, wenn die Site komplett lädt und dann erst das perl oder das include lädt.
Antworten
Beitrag von Sander (8133 Beiträge) am Freitag, 4.Juli.2014, 20:07.
Re: Re: Re: Re: Re: loop nur in bestimmten Zeitfenster ausführen
Antworten
Beitrag von markus (1013 Beiträge) am Freitag, 4.Juli.2014, 22:59.
Re: Re: Re: Re: Re: Re: loop nur in bestimmten Zeitfenster ausführen
Dann leg ich das erstmal auf nachts ;-)
Antworten