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

#1 05. Mai 2011 12:28

rage_all
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

[GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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) ...

Offline

#3 05. Mai 2011 13:18

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

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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 .

Offline

#5 05. Mai 2011 14:20

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

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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: 543

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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: 216
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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 ...

Offline

#12 09. Mai 2011 07:33

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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

Offline

#13 10. Mai 2011 14:36

rage_all
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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.437

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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.)


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#15 11. Mai 2011 08:09

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

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

Nöö, liegst du nicht smile ...

Offline

#17 04. Juli 2011 10:39

rage_all
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

Danke für deine Lösung!

Offline

#19 01. März 2012 00:16

rage_all
kennt CMS/ms
Ort: Augsburg
Registriert: 09. März 2011
Beiträge: 288

Re: [GELÖST] Business Hours - Wir haben geöffnet ... oder so ähnlich

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