Je m'explique.
Voici la function utilisé par mon controller
Dans le paramétrage du bouton de menu que je crée j'ai mis la possibilité de rediriger l'utilisateur une fois connecté (comme l'outil de joomla).
Comment faire pour que Joomla récupère cette information dans son propre composant et effectue cette redirection ?
Merci pour vos propositions
Pour ma part je pense que la valeur devrait être récupéré dans $return de la ligne 61 du default_login.php
Mais comment faire sans changer le code source de Joomla. ?
Voici la function utilisé par mon controller
public function __construct(Container $container, array $config = array())
{
parent::__construct($container, $config);
$set_Itemid = \JFactory::getApplication()->input->get('set_itemid');
$mitemid = $set_Itemid > 0 ? $set_Itemid : \JFactory::getApplication()->input->get('Itemid');
$user = \JFactory::getUser();
if (!$user->id)
{
$this->setRedirect(
'index.php?option=com_users&view=login&Itemid='.$m itemid,
\JText::_('JGLOBAL_REMEMBER_MUST_LOGIN'),
'warning'
)->redirect();
return false;
}
}
{
parent::__construct($container, $config);
$set_Itemid = \JFactory::getApplication()->input->get('set_itemid');
$mitemid = $set_Itemid > 0 ? $set_Itemid : \JFactory::getApplication()->input->get('Itemid');
$user = \JFactory::getUser();
if (!$user->id)
{
$this->setRedirect(
'index.php?option=com_users&view=login&Itemid='.$m itemid,
\JText::_('JGLOBAL_REMEMBER_MUST_LOGIN'),
'warning'
)->redirect();
return false;
}
}
Comment faire pour que Joomla récupère cette information dans son propre composant et effectue cette redirection ?
Merci pour vos propositions
Pour ma part je pense que la valeur devrait être récupéré dans $return de la ligne 61 du default_login.php
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.lo gin'); ?>" method="post" class="form-validate form-horizontal well">
<fieldset>
<?php echo $this->form->renderFieldset('credentials'); ?>
<?php if ($this->tfa) : ?>
<?php echo $this->form->renderField('secretkey'); ?>
<?php endif; ?>
<?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>
<div class="control-group">
<div class="control-label">
<label for="remember">
<?php echo JText::_('COM_USERS_LOGIN_REMEMBER_ME'); ?>
</label>
</div>
<div class="controls">
<input id="remember" type="checkbox" name="remember" class="inputbox" value="yes" />
</div>
</div>
<?php endif; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">
<?php echo JText::_('JLOGIN'); ?>
</button>
</div>
</div>
<?php $return = $this->form->getValue('return', '', $this->params->get('login_redirect_url', $this->params->get('login_redirect_menuitem'))); ?>
<input type="hidden" name="return" value="<?php echo base64_encode($return); ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
</form>
<fieldset>
<?php echo $this->form->renderFieldset('credentials'); ?>
<?php if ($this->tfa) : ?>
<?php echo $this->form->renderField('secretkey'); ?>
<?php endif; ?>
<?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>
<div class="control-group">
<div class="control-label">
<label for="remember">
<?php echo JText::_('COM_USERS_LOGIN_REMEMBER_ME'); ?>
</label>
</div>
<div class="controls">
<input id="remember" type="checkbox" name="remember" class="inputbox" value="yes" />
</div>
</div>
<?php endif; ?>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">
<?php echo JText::_('JLOGIN'); ?>
</button>
</div>
</div>
<?php $return = $this->form->getValue('return', '', $this->params->get('login_redirect_url', $this->params->get('login_redirect_menuitem'))); ?>
<input type="hidden" name="return" value="<?php echo base64_encode($return); ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
</form>