Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 05. Mai 2011 12:28

rage_all
arbeitet mit CMSMS
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 274

Re:

Hallo deutsche CMSMS-Gemeinde!

Dies ist mein erster Post auf der deutschen Plattform, in den letzten Jahren habe ich (unter demselben Nick) nur auf der .org gepostet. Ich will jetzt nicht altes Zeug aufwärmen (das evtl. auch schon wieder längst gegessen ist - wer weiß), jedenfalls hoffe ich hier mehr Feedback auf meine gelegentlichen Fragen zu bekommen und selbst Antworten geben zu dürfen...
In diesem Sinne, hier bin ich wink

Seit einiger Zeit suche ich generell nach einer Art "Öffnungszeiten-Script". Mir hätte das gar nicht CMSMS-Spezifisch sein müssen, allerdings konnte ich gar nicht wirklich etwas finden, dass zu dem von mir gewünschten Ergebnis führt. Deswegen erstmal die beabsichtigte Lösung / Produkt - damit es nachvollziehbar wird:

Wenn ein User auf die Internetseite kommt, soll in einem Feld / DIV / Content-Block / etc. etwas angezeigt werden (falls ein Modul draus würde, wollte ich das so flexibel wie möglich halten (Grafik, Text, HTML, PHP, JS, etc.)), und zwar nach Serverdatum und Server-Uhrzeit.
Sprich: Montag morgens um 9.31 Uhr z.B. "Ja, wir haben geöffnet", wo noch um 9.29 Uhr stand "Zurzeit geschlossen" oder "Wir sind ab 9.30 Uhr gerne für Sie da...".

Natürlich könnte man das Ganze zu einem riesigen Teil aufblasen, wofür der geneigte User schon studiert haben müsste um es überhaupt einrichten zu können (an Tagen vor Feiertagen haben wir bis XY geöffnet, etc.). So weit will ich gar nicht gehen.
Montag: Ab X.oo Uhr, bis Y.oo Uhr, evtl. noch (damit es auch für andere Sinn macht) mit Mittagspausen - fettisch.
Dienstag: Ab X.oo Uhr, bis Y.oo Uhr
Mittwoch:
...

Würde sich das Modul an Beliebtheit erfreuen (und da ich bisher nichts dergleichen gefunden habe, fürchte ich leider, dass es das nicht wird), könnte man das ja noch immer so erweitern, dass es z.B. bei einer Feiertagsdatenbank des Landes X nachfragt und an den gesetzlichen Feiertagen eine entsprechend andere Meldung bringt, oder in einer iCal-Datei auf dem eigenen Server die Daten ausliest, etc.

Überhaupt: Im Grunde könnte es für den Anfang sogar Text-Basiert sein (z.B. Text-Datei öffnen via fopen()) und ohne Backend auskommen... Es ist im Prinzip ja "nur" eine if-then Sache ... nur mit Wochentagen und Uhrzeiten etwas komplizierter...

Meine Kenntnisse reichen hierfür leider kein Stück.
Wenn jemand Lust hätte, sich die Arbeit zu machen, übersetze ich es gerne ins Englische (oder anderes ins Deutsche wink ) oder sehe, was ich sonst tun kann.

Wenn auch Du das nun liest, und auch nicht programmieren könntest, aber Verwendung für ein solches Teil hättest, schließe Dich mit Deinem Beitrag hier mit an - ich bin auch sehr neugierig ob ich ganz alleine mit solchen "verrückten" Ideen bin oder noch mehrere hierfür Verwendung fänden...

Schöne Grüße
Mike

Offline

#2 05. Mai 2011 12:43

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Hallo Mike

rage_all schrieb:

Dies ist mein erster Post auf der deutschen Plattform, in den letzten Jahren habe ich (unter demselben Nick) nur auf der .org gepostet.

Schön, dass du auch hierher gefunden hast!

rage_all schrieb:

Seit einiger Zeit suche ich generell nach einer Art "Öffnungszeiten-Script".

Mal um die Ecke gedacht - eine Öffnungszeit ist doch nix anderes als eine wiederkehrende Veranstaltung (im weitesten Sinne). Ich hab die Umsetzung zwar noch nicht zu Ende gedacht, aber möglicherweise könnte dich eine Kalender-Lösung weiterbringen (CGCalendar) ...


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#3 05. Mai 2011 13:18

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.316
Webseite

Re:

versteh jetzt nicht ganz das problem oder ich unterschätze das.
was spricht gegen $smarty.now?

{assign var=thehour value=$smarty.now|date_format:'%H'}

{if $thehour > 0 AND $thehour < 11}
mach irgendwas vormittags
{/if}

Beitrag geändert von nicmare (05. Mai 2011 13:18)

Offline

#4 05. Mai 2011 13:26

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Dagegen spricht, dass nicht nur die Stunden abgedeckt werden sollen, sondern auch Wochenenden, Feiertage, Firmenausflüge etc. - diese gigantische if-Batterie möchte ich nicht bearbeiten  cool .


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#5 05. Mai 2011 14:20

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 538

Re:

Ich hoffe man verzeiht mir das Fremdgehen tongue , aber ich hätte da was gefunden, dass nicht wirklich viel Arbeit macht und eventuell ohne Modul oder sonstwas auskommt. Sieht mir recht übersichtlich aus:

http://www.xtc-modified.org/forum/topic.php?id=8620

Und mich wundert grad - die gurgelei mit den Suchwörtern "Smarty" und "Feiertage" brachte mir dies als erstes Ergebnis - ich hab mich schon auf Seite 20 aufwärts eingestellt  cool

Wenns weiterhilft haben sich gleich mindestens zwei gefreut (ich wegen Zufallstreffer)

Offline

#6 05. Mai 2011 18:24

Wurst2008
Gast

Re:

Damit hättes Du aber auch das Problem was Cyberman angesprochen hat.

#7 06. Mai 2011 07:02

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 538

Re:

naja von gigantisch kann ja bei dem Script keine Rede mehr sein. Insbesondere, da ja nicht viel anzupassen ist.

Andererseits wäre dieses Modul von Jos ein Ansatz:
http://dev.cmsmadesimple.org/projects/holidays

Bei Durchsicht ist mir auch aufgefallen, dass es ja eine "System-Veriable" für easter_date gibt, somit kann man eigentlich die Feiertage alle abfangen, die nicht am selben Tag sind, denn die sind ja in Abhängigkeit des Ostersonntags.

Beitrag geändert von owr_web (06. Mai 2011 07:03)

Offline

#8 06. Mai 2011 07:31

Connie
Server-Pate
Ort: Gribow
Registriert: 12. Dezember 2010
Beiträge: 217
Webseite

Re:

also ich hab mal ein UDT gemacht, das die nächsten 4 Dienstage ausgibt (Sendetermine)
mit diesen Datumsfunktionen (ganz einfaches PHP) kann man etliches anrichten

als Orientierung:


[== PHP ==]
//function
function nextWeeksDay($date_begin,$nbrweek)
{
$nextweek=array();
for($i = 1; $i <= $nbrweek; $i++)  {  
$nextweek[$i]=date('d.m.Y', strtotime('+'.$i.' week',$date_begin));
}
return $nextweek;
}
/// end function
echo "<p>Die wöchentliche Radio-Sendung des Jazzbüro Hamburg<br />";
echo"Die nächsten Sende-Termine:<br />";
$date_begin = strtotime('last Tuesday'); 
 $nbrweek=4;
// call function
$result=nextWeeksDay($date_begin,$nbrweek);
// Preview
for($i = 1; $i <= $nbrweek; $i++)  {
echo '&nbsp;&nbsp;'.$result[$i].'<br />';
}
echo "jeweils von 23:00 bis 01:00 Uhr auf <b>Tide 96.0!</b></p>";


und jetzt wißt Ihr auch gleich, wann es wieder gute Musik zu hören gibt (auch per Internet-Stream)!

Cheers, Connie

Offline

#9 08. Mai 2011 12:03

rage_all
arbeitet mit CMSMS
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 274

Re:

Hej!

Ich seh schon, ganz so easy wie gedacht, ist es wohl doch nicht...
Vor einigen Jahren hab ich mal was gebastelt, auf Datumsbasis. Wir wollten wie Google immer wieder das Logo grafisch modifiziert zeigen, ohne dass sich jemand übers Osterwochenende über den Content machen muss.
Also Script --> Suche in Ordner XY nach einer "datum().jpg"-Datei. Wenn Du eine gefunden hast, nimm diese, sonst die standard.jpg.

So ähnlich dachte ich mir das hier auch, nur eben mit 0 (Montag), 1 (Dienstag), etc. über fopen() oder read() (oder so ähnlich wink )

Im Prinzip mit den Variablen X, Y und Z:
X = Tag
Y = Start-Zeit
Z = End-Zeit

if jetzt(hour) > "Y" AND < "Z" THEN ... ELSE - nochmal, komplett Sinnfrei und Ahnungslos...  big_smile

@owr_web: Vielen Dank! Das hab ich nicht gefunden, ist aber genau der Ansatz den ich suche. Wenn ich es schaffe das zu portieren, geb ich nochmal Bescheid und stelle es zur Verfügung.

Ein anderes Ding über dem ich gerade sitze, ist CSS-Änderung auf Uhrzeit- oder Tageszeit-Basis. Endprodukt wäre eine Website auf der die Sonne auf- und untergeht, bzw. der Mond, je nach Uhrzeit. Aber das geht mit JS ja relativ simpel und mein letzter Stand war, dass CSS in CMSMS nicht mit PHP-Tags arbeitet (oder ist das überholt?).

Vielen Dank für Eure Antworten!
Schöne Grüße

Mike

Offline

#10 08. Mai 2011 13:01

uniqu3
Server-Pate
Ort: Feldkirchen in Kärnten
Registriert: 20. November 2010
Beiträge: 305
Webseite

Re:

Bezüglich css schrieb Around so eine kleine Anleitung im Niederländisch .org bereich.
http://forum.cmsmadesimple.org/viewtopi … 52&t=45363

CSS müsste aber eher direkt im template eingebunden werden oder  {cms_stylesheet} switchen statt wie er es gezeigt hat im Stylesheet. Stylesheet wird ja gecacht daher bin ich ja nicht davon überzeugt das es mit seiner methode im Stylesheet funktionieren würde, ausser man leert Cache automatisch nach zeit.

Ausserdem gabs ja mal so eine Yahoo API verbunden mit wetter Daten, müsste ich aber danach in meinem Bookmark chaos graben.

Offline

#11 09. Mai 2011 07:17

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

rage_all schrieb:

So ähnlich dachte ich mir das hier auch, nur eben mit 0 (Montag), 1 (Dienstag),

Das klingt nun wieder nach Nicmares $smarty.now Vorschlag - z.Bsp.

[== HTML ==]
<img src="uploads/images/{$smarty.now|date_format:'%A'}.jpg" />

Dann musst du nur noch Montag.jpg, Dienstag.jpg usw. erstellen ...


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#12 09. Mai 2011 07:33

nockenfell
Moderator
Ort: Lenzburg, Schweiz
Registriert: 09. November 2010
Beiträge: 2.807
Webseite

Re:

Die reinen Feiertage lassen sich in der Schweiz und wahrscheinlich auch in Deutschland problemlos ausrechnen:

function getHolidays($year=0){
       
    if($year == 0){$year = date("Y");}
   
    //Feiertage
    $holidays = array();  
    $holidays["neujahr"]          = mktime(0,0,0,1,1,$year);
    $holidays["berchtoldstag"]    = mktime(0,0,0,1,2,$year);
    $holidays["karfreitag"]       = easter_date($year)-(2*86400);
    $holidays["ostermontag"]      = easter_date($year)+(1*86400);
    $holidays["auffahrt"]         = easter_date($year)+(39*86400);
    $holidays["pfingstmontag"]    = easter_date($year)+(50*86400);
    $holidays["ersteraugust"]     = mktime(0,0,0,8,1,$year);
    $holidays["weihnachtspause1"] = mktime(0,0,0,12,23,$year);
    $holidays["heiligabend"]      = mktime(0,0,0,12,24,$year);
    $holidays["weihnachten"]      = mktime(0,0,0,12,25,$year);
    $holidays["stephanstag"]      = mktime(0,0,0,12,26,$year);
    $holidays["weihnachtspause2"] = mktime(0,0,0,12,27,$year);
    $holidays["weihnachtspause3"] = mktime(0,0,0,12,28,$year);
    $holidays["weihnachtspause4"] = mktime(0,0,0,12,29,$year);
    $holidays["weihnachtspause5"] = mktime(0,0,0,12,30,$year);
    $holidays["silvester"]        = mktime(0,0,0,12,31,$year);
   
    //return       
    return $holidays;
   
}//function

via http://sprain.ch/blog/2011/02/18/feiert … en-lassen/


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox, Revisions

Offline

#13 10. Mai 2011 14:36

rage_all
arbeitet mit CMSMS
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 274

Re:

Hej!

Wie schon angedeutet, im ersten Schritt wäre es mir noch gar nicht um die Feiertage gegangen (aber sicher, das für später im Auge zu behalten wäre keine schlechte Idee gewesen...).
Was ich eigentlich vermeiden wollte, war diesen ganzen Block (@owr_web: Vielen Dank für den Link! Der hat's gebracht...  smile ) im Template zu haben:

[== Smarty ==]
{assign var=today value=$smarty.now|date_format:"%d.%m"}
{assign var=thetime value=$smarty.now|date_format:"%H%M"}
{assign var=weekday value=$smarty.now|date_format:"%w"}
{assign var=year value=$smarty.now|date_format:"%y"}
 
{* Tage an denen geschlossen ist: 01.01, 01.05, 03.10, 25.12, 26.12(NI) Statische Feiertage *}
{if $today neq "01.01" and $today neq "01.05" and $today neq "03.10" and $today neq "25.12" and $today neq "26.12" }
{* Osterfeiertage an denen geschlossen ist, vom Jahr abhängig *}
{* 2010: 02.04, 05.04, 13.05, 24.05 - 2011: 22.04, 25.04, 02.06, 13.06 - 2012: 06.04, 09.04, 17.05, 28.05 *}
{if $year eq "2010" and $today neq "02.04" and $today neq "05.04" and $today neq "13.05" and $today neq "24.05" }
{elseif $year eq "2011" and $today neq "22.04" and $today neq "25.04" and $today neq "02.06" and $today neq "13.06" }
{elseif $year eq "2012" and $today neq "06.04" and $today neq "09.04" and $today neq "17.05" and $today neq "28.05" }
{else}
{* Öffnungszeiten: Mo-Fr von 10.00Uhr bis 18.00 Uhr *}
{if $weekday gt "1" and $weekday lt "6" and ( ( $thetime gt "0900" and $thetime lt "1800" ) ) }
    {global_content name="freecall"}
{/if}
{* Am Samstag von 10.00Uhr bis um 13.00 Uhr *}
{if $weekday eq "6" and $thetime gt "1000" and $thetime lt "1300"}
    {global_content name="freecall"}
    {/if}
{/if}
{/if}

Daher die Idee mit der TXT-Datei oder UDT (hab das mit UDT nicht hinbekommen ... kann UDT kein Smarty?).
Na, nu isses drin und funktioniert hervorragend... Deswegen an dieser Stelle ein herzliches
Dankeschön!

Wer neugierig ist, was daraus geworden ist, kann hier nachgucken...
Es ist der div "Jetzt Termin vereinbaren", der nur während der Öffnungszeiten sichtbar sein sollte...

Mit der Basis kann ich vielleicht auch an der anderen Seite basteln, wo ich aber fünferlei Öffnungszeiten habe...  hmm

Schöne Grüße
Michael

Edit:
@nockenfell: Sag mal, tippst Du sowas mal nebenbei ... oder hattest Du das noch aus einer Arbeit herumliegen?

Beitrag geändert von rage_all (10. Mai 2011 14:37)

Offline

#14 10. Mai 2011 14:49

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.058

Re:

rage_all schrieb:

kann UDT kein Smarty?

Nein.
Das ist ein grundlegendes Verständnisproblem.
UDT = PHP
Template = (X)HTML und Smarty - um HTML und PHP Code voneinander trennen zu können.
(Smarty macht am Ende auch nichts weiter als unter der Haube PHP Code auszuführen. Ist sozusagen ein Wrapper, um PHP Code aus dem Layout rauszuhalten. Du kannst also im Template mit Hilfe von Smarty den PHP Code eines UDT ausführen lassen, ohne den PHP Code zu kennen. Bzw. umgekehrt, den PHP Code im UDT ändern, ohne das Layout anzufassen.)

Offline

#15 11. Mai 2011 08:09

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 538

Re:

wobei wenn du es mit smarty machst ja noch die Möglichkeit ist, das ganze in den global content "freecall" einzufügen.

dann also den Inhalt des jetzigen GCB (zweimal) direkt dort drinnen stehen haben wo du jetzt den GCB aufrufst. Dann hast du das ganze auch aus dem Template draußen und musst dort nur mehr den GCB aufrufen

Oder vielleicht funktionierts auch so, dass du ihn nur einmal eintragen musst (bin mir aber nicht ganz sicher mit den Klammersetzungen !! )

{if ( $weekday gt "1" and $weekday lt "6" and ( ( $thetime gt "0900" and $thetime lt "1800" ) ) ) or ( $weekday eq "6" and $thetime gt "1000" and $thetime lt "1300" )}
    Inhalt des jetzigen GCB
{/if}

sind eigentlich um die thetime 0900 und 1800 zwei Klammern notwendig, imho eher nicht - oder liege ich da falsch?

Beitrag geändert von owr_web (11. Mai 2011 08:11)

Offline

#16 11. Mai 2011 13:17

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Nöö, liegst du nicht smile ...


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#17 04. Juli 2011 10:39

rage_all
arbeitet mit CMSMS
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 274

Re:

Hab ich das doch fast wieder vergessen... *ooops*

Erstmal vielen Dank für Eure Hilfe!
Das Problem ist gelöst und ich möchte natürlich die passende Lösung den nächsten nicht vorenthalten...

Also, die erstrebte Lösung war einen Block "kostenlos anrufen über den Dienst XY" auf der Seite anzuzeigen, aber natürlich nur, wenn auch jemand ans Telefon ginge (also nur innerhalb der regulären Öffnungszeiten).

Diesen Block habe ich in das Template, an der Stelle wo der Button erscheinen soll:

[== Smarty ==]
{assign var=today value=$smarty.now|date_format:"%d.%m"}
{assign var=thetime value=$smarty.now|date_format:"%H%M"}
{assign var=weekday value=$smarty.now|date_format:"%w"}
{assign var=year value=$smarty.now|date_format:"%y"}

{* Tage an denen geschlossen ist: 01.01, 01.05, 03.10, 25.12, 26.12(NI) Statische Feiertage *}
{if $today neq "01.01" and $today neq "01.05" and $today neq "03.10" and $today neq "25.12" and $today neq "26.12" }

{* Osterfeiertage an denen geschlossen ist, vom Jahr abhängig *}
{* 2010: 02.04, 05.04, 13.05, 24.05 - 2011: 22.04, 25.04, 02.06, 13.06 - 2012: 06.04, 09.04, 17.05, 28.05 *}

{if $year eq "2010" and $today neq "02.04" and $today neq "05.04" and $today neq "13.05" and $today neq "24.05" }
 {elseif $year eq "2011" and $today neq "22.04" and $today neq "25.04" and $today neq "02.06" and $today neq "13.06" }
  {elseif $year eq "2012" and $today neq "06.04" and $today neq "09.04" and $today neq "17.05" and $today neq "28.05" }
 {else}
{* Öffnungszeiten: Mo-Fr von 10.00Uhr bis um 13.15 Uhr und 15.10 bis 18.00 Uhr *}

{if $weekday gt "1" and $weekday lt "6" and ( ( $thetime gt "0900" and $thetime lt "1800" ) ) }
 {global_content name="freecall"}
{/if}

{* Am Samstag von 10.00 Uhr bis um 14.00 Uhr *}
{if $weekday eq "6" and $thetime gt "1000" and $thetime lt "1300"}
 {global_content name="freecall"}
{/if}
{/if}
{/if}

Lieber wäre mir gewesen, im Template nur einen Aufruf liegen zu haben - z.B. über Smarty. Wie von NaN geschrieben ist das aber ja mit Smarty nicht möglich - zum umstricken nach PHP fehlen mir aber die Kenntnisse, insbesondere damit es später noch mit CMSms harmoniert (einen Snippet rein auf PHP krieg ich vielleicht noch hin, hab aber immer Angst, dass ich mir im CMSms was zerschieße mit einer falschen Variable, etc...).
Der Größte Teil des Block ist aus dem Xtc-Forum - Vielen Dank an owr_web für den nützlichen Link!

In dem globalen Inhaltsblock ist dann der Aufruf über die Seite des Dienstanbieters, der den Anruf ermöglicht. Interessehalber hier der Inhalt dessen:

[== HTML ==]
<div class="freecall">
 <h2>Jetzt Termin vereinbaren...</h2>
  <p><a onclick="window.open('http://www.stadtbranchenbuch.com/callout/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/callnumber.html','Kostenlos anrufen','width=800,height=600,left='+(screen.availWidth/2-400)+',top='+(screen.availHeight/2-300)+'');return false;" href="http://www.stadtbranchenbuch.com/callout/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/callnumber.html">
  <img src="http://de.static.opendi.com/images/call_for_free.png" alt="kostenlos anrufen" /> </a> <br />
  <a href="http://www.stadtbranchenbuch.com/">Ein Service von<br /> stadtbranchenbuch.com</a></p>
</div><!-- eof freecall -->

Wichtig: Wer sich dasselbe überlegt, sollte einen kurzen Blick in die Nutzungsbedingungen werfen - der Dienstbetreiber möchte natürlich genannt werden...

Wer das Ergebnis ansehen möchte, kann das gerne hier tun. Zum Vergleich eben einmal innerhalb und einmal außerhalb der Öffnungszeiten (kurz vor neun / nach neun, bzw. achtzehn Uhr ist an den meisten Wochentagen sicher ganz gut).

Also, nochmals Vielen lieben Dank für Eure Hilfe!
Thema ist gelöst und die Lösung ist hoffentlich einem anderen noch nützlich...

Schöne Grüße
Michael

Offline

#18 04. Juli 2011 20:22

cyberman
Moderator
Ort: Dohna / Sachsen
Registriert: 13. September 2010
Beiträge: 6.741
Webseite

Re:

Danke für deine Lösung!


1. Wie bekomme ich hier schnelle Hilfe?
2. HowTo: Fehlersuche bei CMSMS
---
„First they ignore you, then they laugh at you, then they fight you, then you win.“ Mahatma Ghandi

Offline

#19 01. März 2012 00:16

rage_all
arbeitet mit CMSMS
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 274

Re:

Ich markiere grad meine ganzen Beiträge als "gelöst" (jetzt, wie ich herausgefunden hab wie das geht  wink ).
Dabei ist mir noch was eingefallen...

Ich habe ein UDT für Öffnungszeiten gebaut, was ich gerne mit Euch teilen möchte.
Es ist rudimentär, es könnte viel effektiver sein, gaaanz sicher.
Und trotzdem: Ich fühle mich wie Tom Hanks in "Cast away - Verschollen" als er schrie "ICH HABE FEUER GEMACHT!!!"  big_smile

Los geht's:

[== php / UDT ==]
$weekday = strftime("%u");
$hour = strftime("%H");
switch ($weekday) {
 case "1":
   if ($hour >=10) { $open=true; } else { $open=false; }
//Startzeit Montag und Endzeit Sonntagnacht
   break;
 case "2":
   if (($hour >=10) or ($hour<1)) { $open=true; } else { $open=false; }
//Startzeit Dienstag und Endzeit Montagnacht
   break;
 case "3": if (($hour >=10) or ($hour<1)) { $open=true; } else { $open=false; }
//Startzeit Mittwoch und Endzeit Dienstagnacht
   break;
 case "4": if (($hour >=10) or ($hour<1)) { $open=true; } else { $open=false; }
//Startzeit Donnerstag und Endzeit Mittwochnacht
   break;
 case "5": if (($hour >=10) or ($hour<1)) { $open=true; } else { $open=false; }
//Startzeit Freitag und Endzeit Donnerstagnacht
   break;
 case "6": if (($hour >=16) or ($hour<2)) { $open=true; } else { $open=false; }
//Startzeit Samstag und Endzeit Freitagnacht
   break;
 case "7": if (($hour >=15) or ($hour<2)) { $open=true; } else { $open=false; }
//Startzeit Sonntag und Endzeit Samstagnacht
   break;
 default: $open = false;
}

if ($open == true) {
  echo "<div style=\"margin:0 0 2em; text-align:center;\">
   <img src=\"template/mronions/sign_open.jpg\" alt=\"Ja, wir haben geöffnet\" title=\"Jetzt haben wir für Dich Geöffnet!\" />  </div>";
   } else {
  echo "<div style=\"margin:0 0 2em; text-align:center;\">  <img src=\"template/mronions/sign_closed.jpg\" alt=\"Wir haben leider zu\" title=\"Geschlossen\" />  </div>";
   }
?>

<p>Damit Ihr hoffentlich nie ganz umsonst vor unserer Türe steht, findet Ihr hier unsere aktuellen Öffnungszeiten:</p>
<table cellspacing="5" cellpadding="5" id="opening-hours">
	<tr<? if($weekday==1) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
		<td width="65%"><? if($weekday==1) {echo "Heute";} else { echo "Montag";} ?></td>
		<td width="15%" align="right">10.00</td>
		<td width="5%" align="center">-</td>
		<td width="15%">01.00</td>
	</tr>
	<tr<? if($weekday==2) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
		<td><? if($weekday==2) {echo "Heute";} else { echo "Dienstag";} ?></td>
		<td align="right">10.00</td>
		<td align="center">-<br /></td>
		<td>01.00</td>
	</tr>
    <tr<? if($weekday==3) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
		<td><? if($weekday==3) {echo "Heute";} else { echo "Mittwoch";} ?><br /></td>
		<td align="right">10.00</td>
		<td align="center">-<br /></td>
		<td>01.00</td>
	</tr>
	<tr<? if($weekday==4) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
		<td><? if($weekday==4) {echo "Heute";} else { echo "Donnerstag";} ?></td>
		<td align="right">10.00<br /></td>
		<td align="center">-<br /></td>
		<td>01.00</td>
	</tr>
    <tr<? if($weekday==5) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
    	<td><? if($weekday==5) {echo "Heute";} else { echo "Freitag";} ?></td>
		<td align="right">10.00<br /></td>
		<td align="center">-<br /></td>
		<td>02.00</td>
	</tr>
    <tr<? if($weekday==6) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
		<td><? if($weekday==6) {echo "Heute";} else { echo "Samstag";} ?></td>
		<td align="right">16.00</td>
		<td align="center">-</td>
		<td>02.00</td>
	</tr>
    <tr<? if($weekday==7) { echo " class=\"today\""; } else { echo " onmouseover=\"this.style.fontSize='120%'\" onmouseout=\"this.style.fontSize='100%'\""; } ?>>
		<td><? if($weekday==7) {echo "Heute";} else { echo "Sonntag";} ?></td>
		<td align="right">15.00</td>
		<td align="center">-<br /></td>
		<td>00.00</td>
	</tr>
</table>

<?  $heute = date("D M j G:i:s T Y"); // Sat Mar 19 17:16:18 MST 2011
echo "<!-- current server time is " . $heute . " and the hour value is " . $hour . " -->";
echo "<!-- current weekday is " . $weekday ." and the open status is " . $open . " -->";

Wer das Ergebnis des Codes im Wildlife sehen möchte, schaut mal auf die Öffnungszeiten vom Mr. Onions.
Ich weiß, auf der Seite ist nicht alles 100% optimal, vor allem PageSpeed. Aber chic isse, mehr sollte sie gar nicht sein. Und bei so viel chic, darf sie auch länger brauchen ... oder nicht?

Offline

Fußzeile des Forums

Powered by FluxBB