web-dev-qa-db-fra.com

Comment setOffset () dans joomla 3.2.3

Je migre un composant de joomla 2.5 vers joomla 3.2, j'ai eu une erreur dans la méthode où j'utilise setOffset

//old version used in joomla 2.5 

$data->setOffset(JFactory::getConfig()->get('offset'));

J'ai référé le lien: http://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2

//after i  refered the above link i changed my code  like 

if($date === null ) {   
  $date = JFactory::getDate();
  $tz = JFactory::getConfig()->get( 'offset' );

  // new Version 
  $date->setTimezone($tz);

  $date = $date->format( "%Y-%m-%d" );
}

mais j'obtiens une erreur -

DateTime::getTimezone() expects exactly 0 parameters, 1 given  /example.php on line 5 .

Plz a besoin de votre solution pour corriger l'erreur

7
priya bose

Enfin, j'ai trouvé la solution à cette erreur en passant l'objet de DateTimeZone en tant que paramètre (notez le $date->setTimezone(new DateTimeZone($tz)); dans le code ci-dessous). Ça fonctionne bien.

if($date === null )
{
  $date = JFactory::getDate();
  $tz = JFactory::getConfig()->get( 'offset' );

  $date->setTimezone(new DateTimeZone($tz)); //here!

  $date = $date->format( "Y-m-d" );
}
6
priya bose