web-dev-qa-db-ja.com

ゲストのリダイレクトログインパスを変更しますか?

メニュー(または記事)のアクセスが登録済みユーザーのみに設定されているとします。

ページへのパス:http://localhost/menu

この[〜#〜] url [〜#〜]が任意のGUEST USERによって直接アクセスされると、次のようにリダイレクトされます:

http://localhost/...?view=loginでは、最初にログインするように求められます。

リダイレクトページへのパスを変更する方法..カスタムログインページを作成しました。http://localhost/...?view=loginではなく、カスタム作成ログインページにリダイレクトされるようにしたいです。それを達成するためにどのファイルを編集する必要がありますか?

3
saibbyweb

私はそれを自分で見つけました! :)

このファイルを編集する必要があります:/templates/your_template/html/com_users/login/default.phpまたは、テンプレートフォルダーがhtmlフォルダーで構成されていない場合は、次のように編集します:/components/com_users/views/login/tmpl/default.php

そして変化

if ($this->user->get('guest')):
echo $this->loadTemplate('login');

if ($this->user->get('guest')):
header("Location: URL_WHERE_YOU_WANT_TO_REDIRECT");
5
saibbyweb

ログインページの外観を変えたい場合は、テンプレートを上書きすることができ、別のページにリダイレクトする必要はありません。テンプレートフォルダを見つけて、使用しているテンプレートを選択します。 htmlフォルダーがない場合は作成します。オーバーライドするコンポーネントはcom_usersです。

/components/com_users/viewsフォルダーでは、テンプレートフォルダーでオーバーライドできるすべてのビューを確認できます。今必要なのはログインフォルダです。 /components/com_users/views/login/tmpl-default.phpdefault_login.phpdefault_logout.phpがあります。

テンプレートにすでにhtmlフォルダーを作成しているので、これらのファイルを次の場所にコピーする必要があります。

/templates/yourtemplate/html/com_users/login

その結果、3つのファイルが作成されます。

/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

tmplフォルダーは必要ありません。

default_login.phpを編集して上書きできます。

4
Eva Farkasne

URLとユーザーグループをチェックするプラグインを作成する必要があります。ユーザーがゲストの場合、ユーザーを目的のURLにリダイレクトできます。

以下のリンクはあなたを助けるかもしれません。

2
Gaurav

@saibbywebの回答により、Joomla 3.9で無限リダイレクトループが発生しました。

次に、問題はアクセスしようとしているコンポーネント_com_akeebasubs_にあることがわかりました。

$this->container->platform->redirect(\JUri::base() .'index.php?option=com_users&view=login&return=' . $myURI);

この行を次のように変更した後、リダイレクトは適切に機能しました。

$this->container->platform->redirect(\JRoute::_('index.php?option=com_users&view=login&return=' . $myURI));

_User > Login Form_メニュー項目が必要です。

1
kregus

ログインとログアウト後にユーザーがリダイレクトされる場所を変更する場合は、joomlaのログインモジュールでこれを実行します。これには2つのフィールドがあります。

0
Eva Farkasne