ゲストユーザーに記事全体を表示することを制限したい。ユーザーがログインすると、そのユーザーだけが記事全体を読むことができます。それ以外の場合は、紹介記事が表示されます。次のドキュメントを参照してこれを実現しました。
https://docs.joomla.org/Restricting_access_to_%22read_more%22
しかし、ここでは、ユーザーが[もっと読む]ボタンをクリックすると、ログインページが表示されますが、そのページ自体のポップアップにログインフォームを表示したいと思います。また、ユーザーはクリックしてさらに読んだ同じ記事にリダイレクトする必要があります。これを達成する方法はありますか?
記事ビューのテンプレートオーバーライドを作成する必要があります-default.php
テンプレートファイル。
そこで、「modal button
"登録リンク。モーダルウィンドウ内で登録ビューを開きます。
このブログ投稿では、 Joomla 3 でモーダルを作成する方法について説明しています。 bootstrap way for Joomla 3 for many examplesをカバーしていますが、 mootools way を使用した例を含む古い記事への参照もあります。ちなみにJoomla 3で動作します。
登録画面の読み込みについては、tmpl=component
リンク内にあるため、テンプレート全体ではなくコンポーネントの出力のみが読み込まれます。
したがって、登録ページへのリンクは次のようになります。
<?php $link = new JUri(JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId .'&tmpl=component', false)); ?>
ログインと現在のウィンドウの更新が成功した後のモーダルウィンドウの自動クローズを処理することもできます。
これは一部のJavaScriptで実現できますが、bootstrapの方法では試していません。そのため、これに対する答えがありません。これを調べて探すのは遅いのです。しかし、この時点まで到達できれば、残りのステップも同様に行われます。
これを実現する別の方法は、登録ページにリンクする代わりに、ポップアップAjaxログインモジュールをロードして試すことです。
このモジュールを確認してください:SCログイン。
コンポーネント内からモジュールをロードする方法を説明するこの回答を参照してください:記事のビューにもっと記事を表示する