子ブログに設置する

ライセンスや既存サイトなどの都合で、IDが2以降のブログ(子ブログ)に設置したいときの追加手順をご説明します。
a-blog cmsの管理画面の操作・テーマの編集に慣れている場合のみお試しください。

モジュールIDが重複している場合の注意

ルートブログ(ID:1のブログ)のモジュールIDの一覧を確認し、以下のような設定がないか確認してください。公式テーマを使用していると該当することがあります。

  1. 「global」「banner」というモジュールIDがある
  2. かつ、条件設定の「下の階層のブログが利用することを許可する」にチェックが入っている


この状態でecho_zeroをインポートすると、モジュールIDの重複が起き、画像のようにecho_zeroのサイト内にルートブログの設定が反映されてしまいます。
以下のいずれかの方法で重複を回避してください。

  1. 【推薦】ルートブログのモジュールIDを変更する
  2. ルートブログの「下の階層のブログが利用することを許可する」を利用していなければチェックを外す
  3. echo_zeroのテーマ内のモジュールIDを置換し、かつインポート後にモジュールID名を変更する

ID:2のブログが既にある場合の注意

echo_zeroのインポートデータで使用されている画像は /archives/echo_zero/ 以下にコピーされますが、カスタムユニットで使用されている数点の画像のみ、 /archives/002/ にコピーされます(a-blog cmsの仕様)。

既存の画像が上書きされてしまうことはありませんが、IDが2のブログが既にある場合、画像が混在することになります。

親ブログをインポートする



作業前に、a-blog cms全体のバックアップを取ってください。
導入手順(完全インポート)」を参考に、親ブログ(echo_zero)をインポートします。
このとき、ID:1の子ブログとして新規作成します。

子ブログをインポートする



続いて子ブログ(echo_zero_blog)をインポートします。
このとき、ブログコードは「親ブログのコード/blog」とします。スラッシュを忘れないようにしてください。

ブログ新着の表示を修正する



インポートしたトップページを確認すると、子ブログの新着一覧に親ブログのエントリーが表示されています。

モジュールの設定画面を開き、「条件設定>引数>ブログID」を子ブログのIDに変更してください。

子ブログの共通モジュールを確認する

インポート手順によっては、グローバルナビゲーションなどの共通モジュールが子ブログに表示されていないことがあります。
この場合は、親ブログのモジュールID一覧を確認し、「下の階層のブログが利用することを許可する」のチェックが外れていれば入れ直してください。

ナビゲーションのリンク切れを修正する



以下のナビゲーションのリンクには、グローバル変数「%{HOME_URL}」が使用されています。

  • グローバルナビゲーション・PC用
  • グローバルナビゲーション・スマートフォン用
  • フッタナビゲーション

これはルートブログのURLとなるため、子ブログではリンク切れとなってしまいます。画像の通り、リンク先をサーバーパスに修正してください。



また、404ページの「トップページへ戻る」にも、グローバル変数「%{HOME_URL}」が使用されています。
以下の4つのテンプレートを修正してください。

  • /themes/echo_zero/_co1/404.html
  • /themes/echo_zero/_co2/404.html
  • /themes/blog@echo_zero/_co1/404.html
  • /themes/blog@echo_zero/_co2/404.html

以上で、子ブログでも利用できるようになります。

ルートブログの設定(グローバルカテゴリー・公開状態など)によっては、他にも予期せぬ不具合が生じる可能性があります。ルートブログの動作も慎重に確認してください。