質問: ユーザーログイン用のurlとは何ですか(別名、ログインフォームを非表示にする方法は?) 訪問者が私のウェブサイトに登録することを許可したくありません。ただし、テストの目的で、単一の登録ユーザーが必要であることがわかりました。たとえば、アクセスが制限された記事を公開して、テストユーザーが「汚れた洗濯物を干す」ことなく、サイトで記事がどのように見えるかを一般に公開します(実際には、実際に1日1回訪問する...)。 。現時点での問題は、ユーザーのログインフォームを公開または非公開にする必要があるため、最終的にwebサイトを改ざんしてしまうことです。現在、私はログインフォームをサブカテゴリに非表示にすることでこの問題を「回避」し、カジュアルな訪問者にはすぐに表示されないようにしています。パブリックアクセス権を持つゲストに表示される内容を変更せずに、テストユーザーが制限付きとしてマークされたコンテンツを表示できるようにする代替メソッド(カスタムurlなど)を作成することはできますか?
回答: フロントエンドのログインフォームのレイアウトをオーバーライドすることで、これを実現できるはずです。いくつかのphpコードをレイアウトファイルの上部近くに追加します。この追加されたコードは、urlのカスタムパラメータと特定の値をチェックします。誰かが任意のurlを介してログインページにアクセスしようとした場合、カスタムパラメータと特定の値(abc = xyzなど)が含まれていない場合、コードは「return;」を発行して、フォームのレイアウトが表示用に処理されないようにします。オーバーライドレイアウトファイルのこのコードを使用すると、url(このカスタムパラメータと許容値を含む)を知っているユーザーだけがそのログインフォームを使用できます。例:シークレットurlはmydomain.com/?option=com_users&view=login&abc=xyz 次に、ログインフォームのオーバーライドレイアウトファイルの上部近くに次のコードを追加します。if(jfactory::getapplication()->input->get('abc')!='xyz'){ return; }