Page 1 of 1

[Opgelost] Blogs Made Simple - dateformat

Posted: Thu Jan 28, 2010 8:37 am
by Martijn van Turnhout
Goedemorgen,

voordat ik mijn probleem uitleg: ik weet dat Blogs Made Simple "discontinued" is en dat men adviseert over te gaan op CGBlogs. Ik heb Blogs Made Simple echter al geïnstalleerd en kan niet meer 1-2-3 teruggaan naar een andere methode.

Blogs Made Simple werkt op zich redelijk goed, maar ik heb 1 groot probleem: het dateformat.

Blogs Made Simple maakt gebruik van de variabele {$entry->time}, die hardcoded geplaatst is.
Een datum komt er vervolgens zo uit te zien: %Europe/Berlin %598 %14 om 14.21.

Een alternatief zoals {$entry->time|cms_date_format} werkt helaas niet. Dan pakt hij de datum van vandaag, in plaats van de datum waarop de blog gepost is.

Ik heb al in Blogs.module.php gekeken en ik weet dat men het instellen van de datum kan wijzigen vanaf lijn 534, maar zover gaat mijn PHP kennis niet. In principe wil ik gewoon het cms_date_formaat principe van CMSMS overnemen, maar dan wel uiteraard voor de datum waarop de blog gepost.

Als iemand mij kan helpen: dat zou fantastisch zijn. Dit is de laatste bug waar ik tegenaan loop en ik zie niet snel een oplossing.

Re: Blogs Made Simple - dateformat

Posted: Thu Jan 28, 2010 10:46 am
by Jos
Ik heb de code in SVN bekeken. Ik weet niet of dat hetzelfde als de laatste release is.

Maar daarin zorgt in blogs.module.php deze functie voor de weergave van datum/tijd:

Code: Select all

  function MakeDateTime($unixtime) {
    $datetime="";
    if (date("Ydm",$unixtime)==date("Ydm",time())) {
      $datetime=$this->Lang("today");
    } elseif (date("Ydm",$unixtime)==date("Ydm",time()-(60*60*24))) {
      $datetime=$this->Lang("yesterday");
    } else {
      $datetime=date($this->GetPreference("dateformat","d/n-y"),$unixtime);
    }
    $datetime.=" ".$this->Lang("timeat")." ";
    $datetime.=date($this->GetPreference("timeformat","H.i"),$unixtime);
    return $datetime;    
  }

je ziet hierin

Code: Select all

$this->GetPreference("dateformat","d/n-y")
en

Code: Select all

$this->GetPreference("timeformat","H.i")
Waar die preference vandaan komt, heb ik even niet uitgezocht (kan in Blogs zelf zijn?) maar als je die genoemde codes geheel vervangt door

Code: Select all

"d-m-Y"
respectievelijk

Code: Select all

"H:i"
Dan heb je wat je wilt?

zie ook de date functie van php voor meer codes:
http://nl2.php.net/manual/en/function.date.php

Overigens lijkt het mij dat ook de variabele {$entry->unixtime} beschikbaar is. Die is evt met smarty te bewerken.

Re: Blogs Made Simple - dateformat

Posted: Thu Jan 28, 2010 11:46 am
by Martijn van Turnhout
Heb de bovenstaande methode geprobeerd, maar die werkt helaas niet. Enig idee hoe ik de unixtime variabele dan kan bewerken?

Mucho gracias.

Re: Blogs Made Simple - dateformat

Posted: Thu Jan 28, 2010 11:56 am
by Martijn van Turnhout
Het probleem is opgelost!

De volgende oplossing werkt geweldig:

Code: Select all

{$entry->unixtime|cms_date_format}
Verschrikkelijke module trouwens. Ik hoop dat CMSMS 2.0 met een eigen 'native' Blog module komt, zoals Ted een paar jaar geleden in zijn blog meldde.

Bedankt voor de hulp!