Cách đặt Offerset () trong j Joomla 3.2.3


7

Tôi đang di chuyển một thành phần từ j Joomla 2.5 sang j Joomla 3.2, tôi đã gặp lỗi trong phương thức sử dụng setPackset

//old version used in joomla 2.5 

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

Tôi đã giới thiệu Liên kết: http : //docs.j Joomla.org/Potential_backward_compabilities_issues_in_J Joomla_3_and_J Joomla_Pl 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" );
}

nhưng tôi đang gặp lỗi -

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

Xin vui lòng cần giải pháp của bạn để sửa lỗi


Trong mã của bạn không có getTimezone () vậy dòng 5 trong example.php ở đâu? btw, bạn có thể sử dụng $ date = JFactory :: getDate ('now', $ tz);
Harald Leithner

Câu trả lời:


6

Cuối cùng tôi đã tìm ra giải pháp cho Lỗi này bằng cách chuyển đối tượng DateTimeZonedưới dạng tham số (chú ý phần $date->setTimezone(new DateTimeZone($tz));dưới mã). Nó hoạt động tốt.

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

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

  $date = $date->format( "Y-m-d" );
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.