> (172.23.254.221/ezpublish/)
> ┣━A (172.23.254.221/ezpublish/a_site)
> ┣━B (172.23.254.221/ezpublish/b_site)
> ┣━C (172.23.254.221/ezpublish/c_site)
> ┗━D (172.23.254.221/ezpublish/d_site)
このような設定はeZ Publishでできます。
eZ Publishでマルチサイトを実装する場合は各サイトにサイトアクセスを使います。
サイトアクセスの勉強会のスライドにもマルチサイトの事を紹介しますので、
ぜひ参考にしてください。 [1]
マルチサイトをする場合に2つの方法があります。
a/ サイト毎に別なデータベースを利用
b/ 全サイトで同データベースを利用する
今回のニーズは「SuperAdminが全てのサイトを管理」となりますので、
bはいいと思います。
bの実装の場合はコンテンツツリーのルートノード直下が各サイトのトップとなります:
===
ルートノード
- サイトAトップ
- サイトAコンテンツ
- サイトBトップ
- サイトBコンテンツ
- サイトCトップ
- サイトCコンテンツ
- サイトDトップ
- サイトDコンテンツ
===
各サイトトップがトップページになるようには、各サイトアクセスのsite.iniを下記の様に編集します
===
[SiteAccessSettings]
# すべてのURLに追加する部分
PathPrefix=<サイトトップAのURLアリアス>
[SiteSettings]
# サイトのトップページのURL
IndexPage=<サイトトップAのURLアリアス>
# ルートノードの深さ
RootNodeDepth=2
===
ニーズがあれば、匿名ユーザの設定やセッション名の設定もできます。
ユーザ設定については、ユーザのツリーを下記の様につくるのはおすすめです。
===
- 全体管理者
- サイトA
- 管理者
- メンバー
- サイトB
- 管理者
- メンバー
....
===
ロールの設定は割り当ての時のサブツリー制限を使えば、
同じロールを各サイトで再利用することもできます。
ロールについては資料がありますので、ぜひ参考にしてください。[2]
それ以外にいろいろ細かい設定もできますが、
基本の実装方法はサイトアクセスでサイトを切り分け、
サイトアクセスの設定で調整します。
よろしくお願いします。
[1] - http://www.slideshare.net/ericsagnes/seminar-201205
[2] - http://www.slideshare.net/ericsagnes/seminar-201207
--
Eric Sagnes
サニエ エリック
===
ルートノード
- サイトAトップ
- サイトAコンテンツ
- サイトBトップ
- サイトBコンテンツ
===
このように各サイトを作成するときは、FrontPageを追加するのでしょうか?[SiteAccessSettings]
# すべてのURLに追加する部分
PathPrefix=<サイトトップAのURLアリアス>
[SiteSettings]
# サイトのトップページのURL
IndexPage=<サイトトップAのURLアリアス>
# ルートノードの深さ
RootNodeDepth=2
返事おそくなりました。
設定を説明するにはサンプルがあるのは一番簡いいと思いますので、
サンプルを作って見ました。
下記のリンクにあります:
https://bitbucket.org/ericsagnes/ezpublish-multisite/overview
ダウンロードは下記のコマンドでできます:
git clone g...@bitbucket.org:ericsagnes/ezpublish-multisite.git
エクステンションベースで実装していますので、
コードはextension/multisiteに入っています。
エクステンション内に「related_files」というフォルダーがあり、
その中にDBのダンプとバーチャルホストの例があります。
ホストベースのマルチサイトなので、ホストファイルの変更も必要となります。
URLは以下の設定になっています
http://site_a.multisite.ez.arch/ -> サイトA
http://site_b.multisite.ez.arch/ -> サイトB
http://multisite.ez.arch/back/ -> 管理画面
https://bitbucket.org/ericsagnes/ezpublish-multisite/src/bd7f24798f29a4077d968a086793a6028fa83cd3/settings/override/site.ini.append.php?at=master#cl-52
にはサイトアクセスのマッチングルールを設定します。
後はmultisiteエクステンションで書くサイトアクセスの設定をします。
サイトAの場合は
https://bitbucket.org/ericsagnes/ezpublish-multisite/src/bd7f24798f29a4077d968a086793a6028fa83cd3/extension/multisite/settings/siteaccess/site_a/site.ini.append.php?at=master
サイトBの場合は
https://bitbucket.org/ericsagnes/ezpublish-multisite/src/bd7f24798f29a4077d968a086793a6028fa83cd3/extension/multisite/settings/siteaccess/site_b/site.ini.append.php?at=master
登録されているユーザは:
全サイト管理者 id: admin pw: ezpublish
サイトA管理者 id: a_admin pw:sitea
サイトB管理者 id: b_admin pw:siteb
細かい設定はしていないですが、コンテンツツリーの権限はできています。
ユーザ管理の権限を追加する場合にコンテンツ管理とユーザ管理の権限を2つ作り、
サブツリー制限で割り当てれば大丈夫です。
よろしくお願いします。
> n_site/A_home それとも