MaRiuS1117

Reikia pagalbos del tinklapio kurimo

Rekomenduojami pranešimai

laba, dirbu su wordpress ir atsimusiau i siena, neismastau kaip padaryti si bei ta, gal kas turite patirties su wordpress, html, php....

http://www.raseiniugimnazija.lt/ kaireje puseje yra pamoku laikas, kuris pazymi kuri pamoka siuo metu vyksta. Kaip tai padaryti?

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveikas, man tai rodo, kuri dabar vyksta... Ar jau pats išsiaiškinai? :D

mb5Cc25.png

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ne pats gražiausias padarymo būdas, bet mano mintis tokia: su PHP if'u patikrini, kiek dabar valandų ir minučių. Kiekvienai pamokai darai if'ą lygindamas pamokos pradžios ir pabaigos laikus ir, jei reikšmė true, paryškini. Jei false, rodai paprastą tekstą.

Koks dabar laikas gauni taip:

$time= date('H:i'); // gausi kiek valandu ir minuciu

 

Kai darai tikrinimą, pamokų laiką pasiversk į timestamp su strtotime($time) ir palygink kaip paprastą skaičių.

 

Jei nori padaryti gražiau, bet sudėtingiau, galima visus pradžios ir pabaigos laikus sudėti į array. Tada prasukti ciklą su foreach. Tokiu būdu reiks tik vieno if'o.

 

Ir nepamiršk, jog savaitgalį pamokų nebūna :)

 

@SWIZZ , jis gal kaip pavyzdį davė tą puslapį, ar ne? :)

 

Jei reikia pagalbos, sakyk, parašysiu visą kodą.

Redagavo Emilis09

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveikas, man tai rodo, kuri dabar vyksta... Ar jau pats išsiaiškinai? :D

mb5Cc25.png

 

pamirsau parasyk kad cia pavizdys 

 

Ne pats gražiausias padarymo būdas, bet mano mintis tokia: su PHP if'u patikrini, kiek dabar valandų ir minučių. Kiekvienai pamokai darai if'ą lygindamas pamokos pradžios ir pabaigos laikus ir, jei reikšmė true, paryškini. Jei false, rodai paprastą tekstą.

Koks dabar laikas gauni taip:

$time= date('H:i'); // gausi kiek valandu ir minuciu

 

Kai darai tikrinimą, pamokų laiką pasiversk į timestamp su strtotime($time) ir palygink kaip paprastą skaičių.

 

Jei nori padaryti gražiau, bet sudėtingiau, galima visus pradžios ir pabaigos laikus sudėti į array. Tada prasukti ciklą su foreach. Tokiu būdu reiks tik vieno if'o.

 

Ir nepamiršk, jog savaitgalį pamokų nebūna :)

 

@SWIZZ , jis gal kaip pavyzdį davė tą puslapį, ar ne? :)

 

Jei reikia pagalbos, sakyk, parašysiu visą kodą.

 

buciau labai dekingas, jei koda parasytum :)

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

pamirsau parasyk kad cia pavizdys 

 

 

 

buciau labai dekingas, jei koda parasytum :)

Grysiu namo uz kokios valandos ar pusantros ir parasysiu :) Ikelsiu i cia, jei ir kam kitam prisireiktu.

 

EDIT:

Mano variantas toks (ne pats idealiausias budas, bet geriau nei su kiekviena pamoka det if'us ir tikrint, ar dabartinis laikas yra pamokos laiku intervale):

<style>
.time ul li{
	padding:4px;
	float:left;
	white-space:nowrap;
	clear:both;
}
.time ul li.current{
	background:#303030;
	color:#fff;
}
</style>

<?php

//Sita funkcija naudosim tikrinimui, ar dabar savaitgalis
function isWeekend($date)
{
    return (date('N', strtotime($date)) >= 6);
}

//Nustatom visu pamoku laikus
$lessons = array(
  1 => array(
    'start' => '8.00',
    'end' => '8.45',
  ),
  2 => array(
    'start' => '8.55',
    'end' => '9.40',
  ),
  3 => array(
    'start' => '9.55',
    'end' => '10.40',
  ),
  4 => array(
    'start' => '10.50',
    'end' => '11.35',
  ),
  5 => array(
    'start' => '11.55',
    'end' => '12.40',
  ),
  6 => array(
    'start' => '13.00',
    'end' => '13.45',
  ),
  7 => array(
    'start' => '13.55',
    'end' => '14.40',
  ),
  8 => array(
    'start' => '14.50',
    'end' => '15.35',
  ),
);

$time = strtotime(date('H.i'));  //Paverciam valandas ir minutes i timestamp, kad galetumem lyginti laikus

//$time = strtotime("9.24");  //Sita atkomentuok, jeigu nori pratestuoti tam tikra laika

echo "<div class='time'><ul>";

for ($i = 1; $i <= count($lessons); ++$i) {  //Pradedam cikla, imam kiekvienos pamokos informacija

  $start = $lessons[$i]['start']; //pamokos pradzia
  $end = $lessons[$i]['end'];   //pamokos pabaiga

  //rodom pamokos informacija. Jeigu dabartinis laikas yra pamokos laiku intervale (tikrinimui naudojam short if), <li> class nustatom i current, kitaip paliekam tuscia klase
  echo "<li class='".($time >= strtotime($start) && $time <= strtotime($end) && !isWeekend($time) ? 'current' : '')."'>$i. <strong>$start - $end</strong></li>\r\n";
}

echo '</ul></div>';

Del patogumo imeciau ir i pastebin: http://pastebin.com/BdJFQxTa

 

Jei nori pratestuoti, kaip tai veikia su tam tikromis valandomis, //$time = strtotime("9.24"); pakeisk i $time = strtotime("9.24"); (pasalink // eilutes pradzioje).

 

Front-end dalis nukopijuota nuo pavyzdinio puslapio. Pasikeisi, kaip patinka :)

 

Jei bus daugiau klausimu is PHP, gali rasyt ir tiesiai i PM, kuo galesiu padesiu :)

Redagavo Emilis09

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Grysiu namo uz kokios valandos ar pusantros ir parasysiu :) Ikelsiu i cia, jei ir kam kitam prisireiktu.

 

EDIT:

Mano variantas toks (ne pats idealiausias budas, bet geriau nei su kiekviena pamoka det if'us ir tikrint, ar dabartinis laikas yra pamokos laiku intervale):

<style>
.time ul li{
	padding:4px;
	float:left;
	white-space:nowrap;
	clear:both;
}
.time ul li.current{
	background:#303030;
	color:#fff;
}
</style>

<?php

//Sita funkcija naudosim tikrinimui, ar dabar savaitgalis
function isWeekend($date)
{
    return (date('N', strtotime($date)) >= 6);
}

//Nustatom visu pamoku laikus
$lessons = array(
  1 => array(
    'start' => '8.00',
    'end' => '8.45',
  ),
  2 => array(
    'start' => '8.55',
    'end' => '9.40',
  ),
  3 => array(
    'start' => '9.55',
    'end' => '10.40',
  ),
  4 => array(
    'start' => '10.50',
    'end' => '11.35',
  ),
  5 => array(
    'start' => '11.55',
    'end' => '12.40',
  ),
  6 => array(
    'start' => '13.00',
    'end' => '13.45',
  ),
  7 => array(
    'start' => '13.55',
    'end' => '14.40',
  ),
  8 => array(
    'start' => '14.50',
    'end' => '15.35',
  ),
);

$time = strtotime(date('H.i'));  //Paverciam valandas ir minutes i timestamp, kad galetumem lyginti laikus

//$time = strtotime("9.24");  //Sita atkomentuok, jeigu nori pratestuoti tam tikra laika

echo "<div class='time'><ul>";

for ($i = 1; $i <= count($lessons); ++$i) {  //Pradedam cikla, imam kiekvienos pamokos informacija

  $start = $lessons[$i]['start']; //pamokos pradzia
  $end = $lessons[$i]['end'];   //pamokos pabaiga

  //rodom pamokos informacija. Jeigu dabartinis laikas yra pamokos laiku intervale (tikrinimui naudojam short if), <li> class nustatom i current, kitaip paliekam tuscia klase
  echo "<li class='".($time >= strtotime($start) && $time <= strtotime($end) && !isWeekend($time) ? 'current' : '')."'>$i. <strong>$start - $end</strong></li>\r\n";
}

echo '</ul></div>';

Del patogumo imeciau ir i pastebin: http://pastebin.com/BdJFQxTa

 

Jei nori pratestuoti, kaip tai veikia su tam tikromis valandomis, //$time = strtotime("9.24"); pakeisk i $time = strtotime("9.24"); (pasalink // eilutes pradzioje).

 

Front-end dalis nukopijuota nuo pavyzdinio puslapio. Pasikeisi, kaip patinka :)

 

Jei bus daugiau klausimu is PHP, gali rasyt ir tiesiai i PM, kuo galesiu padesiu :)

del kodo talpinimo, <style> det i style.css?

 

<php? i function.php? ar iki pat galo (te kur echo) ar tik iki specifines vietos, jei taip, tai tada kur likusi koda talpinti?

 

P.S. nelabai as gaudausi tinklapiu kurime :)

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

del kodo talpinimo, <style> det i style.css?

 

<php? i function.php? ar iki pat galo (te kur echo) ar tik iki specifines vietos, jei taip, tai tada kur likusi koda talpinti?

 

P.S. nelabai as gaudausi tinklapiu kurime :)

Viską, kas yra tarp <style> tagų, kelk į style.css. 

 

Šitą kodą galima dėti ir į function.php:

function isWeekend($date)
{
    return (date('N', strtotime($date)) >= 6);
}

Kur geriausia dėti likusį kodą, nesu tikras (su Wordpress nedirbu, dažniausiai užsiimu unikaliom sistemom). Kiek matau, prižiūrimuose WP projektuose (ne mano kurtuose) tokio tipo kodas dažnai dedamas į temos failus. Jei gali, sudėk visus temos failus į rar/zip failą ir atsiųsk man į PM. Įdėsiu, kur reikia :)

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Viską, kas yra tarp <style> tagų, kelk į style.css. 

 

Šitą kodą galima dėti ir į function.php:

function isWeekend($date)
{
    return (date('N', strtotime($date)) >= 6);
}

Kur geriausia dėti likusį kodą, nesu tikras (su Wordpress nedirbu, dažniausiai užsiimu unikaliom sistemom). Kiek matau, prižiūrimuose WP projektuose (ne mano kurtuose) tokio tipo kodas dažnai dedamas į temos failus. Jei gali, sudėk visus temos failus į rar/zip failą ir atsiųsk man į PM. Įdėsiu, kur reikia :)

 

pabandysiu rytoj pats, jei paciam nepavyks tada atsiusiu temos failus

 

pridedu temos archyva

 

 

twentythirteen.rar

Redagavo MaRiuS1117

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

aciu emilis09, jis padejo padaryt kad veiktu kodas. 

jei kam reikia, tai va atnaujintas kodas:
 

<style>
.time ul li{
        padding: 4px;
        float: left;
        white-space: nowrap;
        clear: both;
}
.time ul li.current{
        background: #303030;
        color: #fff;
}
</style>
 
<?php
 
date_default_timezone_set('Europe/Vilnius');
 
//Sita funkcija naudosim tikrinimui, ar dabar savaitgalis
function isWeekend($date)
{
    return (date('N', strtotime($date)) >= 6);
}
 
//Nustatom visu pamoku laikus
$lessons = array(
  1 => array(
    'start' => '08:00',
    'end' => '08:45',
  ),
  2 => array(
    'start' => '08:55',
    'end' => '09:40',
  ),
  3 => array(
    'start' => '09:50',
    'end' => '10:35',
  ),
  4 => array(
    'start' => '10:55',
    'end' => '11:40',
  ),
  5 => array(
    'start' => '12:00',
    'end' => '12:45',
  ),
  6 => array(
    'start' => '12:55',
    'end' => '13:40',
  ),
  7 => array(
    'start' => '13:50',
    'end' => '14:35',
  ),
  8 => array(
    'start' => '14:45',
    'end' => '15:30',
  ),
);
 
$time = strtotime(date('H:i'));  //Paverciam valandas ir minutes i timestamp, kad galetumem lyginti laikus
 
//$time = strtotime("9.24");  //Sita atkomentuok, jeigu nori pratestuoti tam tikra laika
 
echo "<div class='time' style='height: 230px;'><ul>";
 
for ($i = 1; $i <= count($lessons); ++$i) {  //Pradedam cikla, imam kiekvienos pamokos informacija
 
  $start = $lessons[$i]['start']; //pamokos pradzia
  $end = $lessons[$i]['end'];   //pamokos pabaiga
 
  //rodom pamokos informacija. Jeigu dabartinis laikas yra pamokos laiku intervale (tikrinimui naudojam short if), <li> class nustatom i current, kitaip paliekam tuscia klase
  echo "<li class='".($time >= strtotime($start) && $time <= strtotime($end) && !isWeekend($time) ? 'current' : '')."'>$i. <strong>$start - $end</strong></li>\r\n";
}
 
echo '</ul></div>';
?>
 
viska reikia det i ta vieta kur norite, kad rodytu, jei negerai rodys valandas zekyte laiko juosta

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tikiuosi neredaguoji twentythirteen temos? 

 

Nes tada tai reikėtų daryti kuriant child temą. Nes dabar po atnaujinimo visi tavo pakeitimai dings.

Dalintis šiuo pranešimu


Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie pokalbio

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Įdėti kaip grynąjį tekstą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.