Получать параметры (GET, POST и др.) можно с помощью класса JRequest, например:

$id = JRequest::getVar( 'id', $default=null, $hash= 'default', $type= 'none', $mask=0  );

где $hash это GET, POST, ARRAY или др.

$type - INT или STRING например

Чтобы получить параметр запроса и сразу сохранить его в сессию, используется метод класса Application - getUserStateFromRequest

$app = JFactory::getApplication();
$context = 'com_filer.new.';
$parentFolderId = $app->getUserStateFromRequest( $context.'id', 'id', 0, 'cmd' );

Вот код функции getUserStateFromRequest

public function getUserStateFromRequest($key, $request, $default = null, $type = 'none')
 {
  $cur_state = $this->getUserState($key, $default);
  $new_state = JRequest::getVar($request, null, 'default', $type);
 
  // Save the new value only if it was set in this request.
  if ($new_state !== null)
  {
   $this->setUserState($key, $new_state);
  }
  else
  {
   $new_state = $cur_state;
  }
 
  return $new_state;
 }

То есть если передается параметр - он сохраняется в сессию и возвращается как результат функции. Иначе, возвращается сохраненное ранее в сессии значение. Если функция вызывается в первый раз и ей не передается параметр, то в сессию записывается дефолтное значение.

Функция getUserState

public function getUserState($key, $default = null)
{
$session = JFactory::getSession();
$registry = $session->get('registry');
 
if (!is_null($registry))
{
return $registry->get($key, $default);
}
 
return $default;
}

getUserState - получает значение из сессии, либо записывает в сессию - setUserState

Чтобы сделать комментарий, нужно авторизоваться на сайте!