php code in smarty

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Jop B

Jop B

21/02/2015 15:06:33
Quote Anchor link
Hallo,

Met hulp uit een andere topic heb ik het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
//tijdzone
date_default_timezone_set('Europe/Amsterdam');
define('timeopen', 10);
define('timeclosed', 18);
define('weekendopen', 10);
define('weekendclosed', 16);
$weekdag = (int) date('w');

switch ($weekdag) {

    case
0: //zondag
    case 1: //maandag
             $openclose = '<div class="time-close">Momenteel zijn wij gesloten</div>';
    break;

    case
2: //dinsdag
            if ( (date('H') >= timeopen) and (date('H') < timeclosed) ){
             $openclose = '<div class="time-open">Vandaag open tot 18:00</div>';
            }
else{
             $openclose = '<div class="time-close">Momenteel zijn wij gesloten</div>';}
    break;

    case
3: //woensdag
            if ( (date('H') >= timeopen) and (date('H') < timeclosed) ){
             $openclose = '<div class="time-open">Vandaag open tot 18:00</div>';
            }
else{
             $openclose = '<div class="time-close">Momenteel zijn wij gesloten</div>';}
    break;


    case
4: //donderdag
            if ( (date('H') >= timeopen) and (date('H') < timeclosed) ){
             $openclose = '<div class="time-open">Vandaag open tot 18:00</div>';
            }
else{
             $openclose = '<div class="time-close">Momenteel zijn wij gesloten</div>';}
    break;

    case
5: //vrijdag
            if ( (date('H') >= timeopen) and (date('H') < timeclosed) ){
             $openclose = '<div class="time-open">Vandaag open tot 18:00</div>';
            }
else{
             $openclose = '<div class="time-close">Momenteel zijn wij gesloten</div>';}
    break;

    case
6: //zaterdag
            if ( (date('H') >= weekendopen) and (date('H') < weekendclosed) ){
             $openclose = '<div class="time-open">Vandaag open tot 18:00</div>';
            }
else{
             $openclose = '<div class="time-close">Momenteel zijn wij gesloten</div>';}
    break;
}

?>


en de output plaatsen waar je hem wilt hebben
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $openclose; ?>


Op de lokale test server werkt het perfect totdat ik hem in de site ging verwerken.
Nu blijkt dat er gebruik word gemaakt van smarty en dat veranderd de zaak weer.
Helaas heb ik van smarty 0 verstand. Wie kan mij helpen dat in de php smarty taal te zetten?

Groetjes Jop
 
PHP hulp

PHP hulp

24/04/2024 07:53:04
 
- Ariën  -
Beheerder

- Ariën -

21/02/2015 17:34:53
Quote Anchor link
Ook Smarty kent {if..} {elseif..} en {else} statements. Kijk eens in de manual.

Als je het makkelijker wilt kan je ib je PHPcode ook assigns gebruiken, die je in Smarty kan gebruiken.
 
Rob Heinz

Rob Heinz

21/02/2015 22:47:00
Quote Anchor link
Wat je ook zou kunnen doen, is de variabel $openclose assignen in smarty.
Kijk maar eens na deze link;
http://www.smarty.net/docsv2/en/api.assign.tpl
 
Jop B

Jop B

24/02/2015 00:28:27
Quote Anchor link
Beste Aar en Rob,

Alvast bedankt voor het reageren op mijn vraag.
Dus als ik het goed begrijp kan ik in de root index.php een assign maken met mijn bovenstaande code.
Die ik dan overal in de template kan aanroepen?

Mocht ik er niet uitkomen zouden jullie mij dan kunnen helpen met jullie kennis?

Groetjes Jop

Toevoeging op 24/02/2015 12:35:17:

Weet niet of dit kan?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//tijdzone
date_default_timezone_set('Europe/Amsterdam');
define('timeopen', 10);
define('timeclosed', 18);
define('weekendopen', 10);
define('weekendclosed', 16);
$weekdag = (int) date('w');

switch ($weekdag) {

    case
0: //zondag
    case 1: //maandag
         $smarty->assign('$openclose', '<div class="time-close">Momenteel zijn wij gesloten</div>');
    break;

    case
2: //dinsdag
            if ( (date('H') >= timeopen) and (date('H') < timeclosed) ){
        $smarty->assign('$openclose', '<div class="time-open">Vandaag open tot 18:00</div>');
            }
else{
             $smarty->assign('$openclose', '<div class="time-close">Momenteel zijn wij gesloten</div>');}
    break;
?>


En die dan aanroepen in de template als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
{$openclose}
Gewijzigd op 24/02/2015 12:36:12 door Jop B
 
- Ariën  -
Beheerder

- Ariën -

24/02/2015 12:44:01
Quote Anchor link
Niet lastig doen....

Je hebt overal al $openclose in gebruik voor de verschillende meldingen die worden getoond.
Dan kan je die assign na je switch() { ...... } plaatsen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$smarty->assign('openclose',$openclose);


Waarna je in {$openclose} de juiste HTML hebt staan.
Gewijzigd op 24/02/2015 12:54:14 door - Ariën -
 
Jop B

Jop B

24/02/2015 16:22:34
Quote Anchor link
Beste Aar,

Bedankt voor het meedenken! Heb het net in de site verwerkt en werkt perfect;)

Groetjes Jop
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.