web-dev-qa-db-ja.com

Joomla 3.2.3でsetOffset()を使用する方法

コンポーネントをjoomla 2.5からjoomla 3.2に移行していますが、setOffsetを使用しているメソッドでエラーが発生しました

//old version used in joomla 2.5 

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

私はリンクを参照しました: 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" );
}

エラーが出ます-

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

Plzはエラーを修正するためのソリューションを必要としています

7
priya bose

最後に、DateTimeZoneのオブジェクトをパラメーターとして渡すことにより、このエラーの解決策を見つけました(以下のコードの$date->setTimezone(new DateTimeZone($tz));に注意してください)。正常に動作しています。

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