So setzen Sie Offset () in Joomla 3.2.3

7

Ich migriere eine Komponente von Joomla 2.5 auf Joomla 3.2. Bei der Methode, bei der setOffset verwendet wird, ist ein Fehler aufgetreten

//old version used in joomla 2.5 

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

Ich habe auf den Link verwiesen: 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" );
}

aber ich bekomme einen Fehler -

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

Bitte benötigen Sie Ihre Lösung, um den Fehler zu beheben

Priya Bose
quelle
In Ihrem Code befindet sich kein getTimezone (). Wo steht also Zeile 5 in example.php? Übrigens können Sie $ date = JFactory :: getDate ('now', $ tz) verwenden.
Harald Leithner

Antworten:

6

Schließlich fand ich die Lösung für diesen Fehler, indem ich das Objekt von DateTimeZoneals Parameter übergab (beachten Sie das $date->setTimezone(new DateTimeZone($tz));im folgenden Code). Es funktioniert gut.

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

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

  $date = $date->format( "Y-m-d" );
}
Priya Bose
quelle