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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.