Joomlaでログインユーザー毎に独立した「記事作成システム」(フロントエンド)を作る

Joomla 5.44 のフロントエンドで、「ログイン中の特定ユーザーに向けた記事を選択的に表示させる方法」は比較的容易だが、フロントエンドで「ユーザー毎に独立した記事(他のユーザーには見えない記事)を作成するシステム」はちょっと敷居が高い。AIができないと言うので、諦めていたが、 サブカテゴリを使うことで、Joomla の基本機能で実現できた。

セッションにログイン中の特定ユーザー向け記事を選択的に表示する

特定のユーザーにのみ表示される記事の作り方
(方法)ユーザーを Xとする
1)〔グループ作成〕新たに「Xグループ」(名称は一例)を作る。(親グループは registeredとする)
2)〔ユーザー管理〕ユーザーX を「Xグループ」に所属させる。(他のグループにも重複所属はできる)
3)〔アクセスレベル作成〕「Xグループ」と super users からなるアクセスレベル(例:Xonly)を作る。(super users にもアクセスさせない場合には「Xグループ」のみでよい)
4)〔記事設定〕記事のアクセスレベルを Xonly とすると、この記事は ユーザーX にのみ表示される。

※全登録ユーザーについて、上記を実施すれば、管理者から各ユーザーへの通知システムともなる。
※記事表示「メニュー」のアクセスレベルを Xonly に設定すると、メニュー自体も表示制御される。

セッションにログイン中の特定ユーザー専用、プライベート記事作成システム

特定のユーザーにフロントエンドでの記事作成を許可/記事は他のユーザーには表示されない
(方法)ユーザーを Xとする
前記1)~3)の操作で、「Xグループ」と super users からなるアクセスレベル(例:Xonly)を作る
4)〔記事のカテゴリ〕サブカテゴリを作る。例:カテゴリA → カテゴリAA (アクセスレベルは xonly)
5)〔専用メニュー〕サブカテゴリ(AA)の記事を表示するメニュー(AA)を作り、このメニューのアクセスレベルを xonly とすると、これはユーザーX専用のメニューとなる。
6)〔記事作成を許可〕サブカテゴリ(AA)の 設定「アクセス許可」で『Xグループに記事作成を許可(作成・自分で編集・状態の編集)』すると、 Xはメニュー(AA)内で記事が作成できるようになる。この記事は、上記5)の仕組みから、他のユーザーには表示されない。
7)メニューでは表示されないが、検索では見えてしまうので、スマートサーチ機能から、会員限定カテゴリをまるごとブラックリストに登録する必要がある。方法は8)
8)[コンポーネント] [スマート検索] [インデックス] → 隠したい「カテゴリ」で絞り込み、そのカテゴリに属するインデックス項目が表示されたところで、すべてを選択して、 [未公開(Unpublish)] に設定する

(注意)①作成された記事の表示アクセスレベルは、サイトデフォルトとなる。このため、前もって、サイトデフォルトを registered など適切に変更しておく必要がある。②メニューとカテゴリのアクセスレベルは合わせる。

\ 最新情報をチェック /