Supposons que l'accès à un menu (ou à un article) est défini sur tilisateurs enregistrés seulement.
Chemin vers la page: http://localhost/menu
quand ceci URL est directement accessible par n'importe quel TILISATEUR INVITÉ, il est redirigé vers:
http://localhost/...?view=login
qui lui demande de se connecter en premier.
Comment changer le chemin d'accès à la page de redirection. J'ai créé une page de connexion personnalisée. Je souhaite qu'elle soit redirigée vers ma page de connexion personnalisée et non vers http://localhost/...?view=login
. Quel fichier doit être édité pour y parvenir?
Je l'ai compris moi-même! :)
Vous devez éditer ce fichier: /templates/your_template/html/com_users/login/default.php
ou si votre dossier de modèle ne comprend pas de dossier html, modifiez celui-ci: /components/com_users/views/login/tmpl/default.php
et changer
if ($this->user->get('guest')):
echo $this->loadTemplate('login');
à
if ($this->user->get('guest')):
header("Location: URL_WHERE_YOU_WANT_TO_REDIRECT");
Si vous souhaitez donner un aspect différent à votre page de connexion, vous pouvez effectuer un remplacement de modèle sans avoir à rediriger vers une autre page. Recherchez votre dossier de modèles et sélectionnez le modèle que vous utilisez. Créez un dossier HTML si vous n'en avez pas. Le composant que vous souhaitez remplacer est com_users.
Si vous regardez /components/com_users/views
, vous pouvez voir toutes les vues pouvant être remplacées dans le dossier des modèles. Celui dont nous avons besoin maintenant se trouve dans le dossier de connexion. /components/com_users/views/login/tmpl
_ - il y a default.phpdefault_login.php et default_logout.php.
Vous avez déjà créé un dossier html dans votre modèle, vous devez maintenant copier ces fichiers à l'emplacement suivant:
/templates/yourtemplate/html/com_users/login
Cela se traduira par 3 fichiers:
/templates/yourtemplate/html/com_users/login/default.php
/templates/yourtemplate/html/com_users/login/default_login.php
/templates/yourtemplate/html/com_users/login/default_logout.php
Vous n'avez pas besoin du dossier tmpl.
Vous pouvez éditer le default_login.php pour effectuer le remplacement.
Vous devez créer un plugin, qui vérifiera l'URL et le groupe d'utilisateurs. Si votre utilisateur est invité, vous pouvez le rediriger vers l'URL souhaitée.
Le lien ci-dessous peut vous aider.
Si vous souhaitez modifier l'emplacement de redirection de l'utilisateur après la connexion et la déconnexion, vous pouvez le faire dans le module de connexion de joomla. Il y a 2 dossiers pour cela.