前のページで確認したように、ユーザのグループを「登録ユーザ」以上にすると「ユーザメニュー」が表示され、自分のプロフィールを変更したり、投稿担当以上であれば記事を投稿するメニューアイテムが表示されます。
これはJoomla!の「アクセスレベル(閲覧レベル)」という機能を使って実現しています。グループが「何ができるのか」を決めるのに対し、アクセスレベルは「何が見えるのか」を決めます。アクセスレベルの設定は、記事、カテゴリ、モジュール、メニューアイテム、プラグインそれぞれに存在します。
このユーザメニューがどのようにして実現されているかを確認しながら、アクセスレベルについて理解していきます。
Joomla!では既にいくつかのアクセスレベルが設定されています。まずはそれを確認します。「ユーザ」→「閲覧レベル」を選択して下さい。
次のように「Public」「Registerd」「Special」「カスタマー(例)」の4つのアクセスレベルが設定されています。このアクセスレベルは自由に追加・編集・削除が可能です。今回「カスタマー(例)」に関してはサンプルなので無視します。この中からPublicをクリックしてみましょう。
Joomla!のグループが表示されます。アクセスレベルはJoomla!のグループごとに作成します。Publicには「ゲスト」にしかチェックが入っていません。これは「アクセスレベルをPublicに設定すると、ゲスト以上のユーザ、つまり誰でも見る事ができる」ということになります。
一旦アクセスレベルの画面はキャンセルし、「記事」→「記事管理」を表示して下さい。「対象」の欄が現在のアクセスレベルを示しています。ほとんどがPublicになっていますので、これらの記事は誰でも見る事ができます。
記事のアクセスレベルを変更するには、記事編集画面で「アクセス権」を変更します。
次は「ユーザ」→「閲覧レベル」→「Registerd」を確認します。Registetrdは「サイト管理者」「最高管理者」「登録ユーザ」にチェックが入っています。これらはすべて「ゲスト」直下の子グループです。チェックを入れたグループの子グループにも設定は継承されます。例えば「登録ユーザ」にチェックを入れれば、その子グループである「投稿担当」「商品担当グループ(例)」「編集担当」「公開担当」「顧客グループ(例)」もRegisterdの一員になります。
これを利用しているのが、フロントエンドからログインすると表示される「ユーザメニュー」です。「エクステンション」→「モジュール管理」を開き、「ユーザメニュー」をみるとアクセスレベルが「Registerd」になっています。つまりこのモジュールは、「Registerdグループに表示しゲストユーザには表示しない」という意味になります。だからログインするとユーザメニューが表示されるわけです。
次は「ユーザ」→「閲覧レベル」→「Special」を確認します。Specialは「サイト管理者」「最高管理者」「投稿担当」にチェックが入っています。Registerdと異なるのは「登録ユーザ」ではなく「投稿担当」にチェックが入っている点です。つまりSpecialには「登録ユーザ」が含まれません。
これを利用しているのが「ユーザメニュー」内のメニューアイテムです。「登録ユーザ」でログインすると「あなたのプロファイル」しか表示されませんが、「投稿担当」以上のユーザでログインすると「記事の投稿」「ウェブリンクの投稿」が表示されます。
「メニュー」→「ユーザメニュー」を選択すると、3つのメニューアイテムが表示されます。「あなたのプロファイル」はRegisterd、「記事の投稿」「ウェブリンクの投稿」はSpecialになっています。これによって「登録ユーザ」には「あなたのプロファイル」だけ表示され、投稿担当以上のユーザは「記事の投稿」「ウェブリンクの投稿」も表示される仕組みになっています。
アクセスレベルを活用して、ユーザ登録した会員だけ記事を読めるようにしたり、グループ毎に読める記事を分けたりすることができます。
初期設定の「Public」「Registerd」「Special」の設定は、Joomla!1.0、Joomla!1.5のアクセスレベルと同じく扱えるよう設定されています。