6. 詳細ページにエントリーを表示・登録を可能にする
トップページの一覧からリンクをクリックするとページは出てくるかと思いますが、どこのお知らせをクリックしても同じものが表示されます。各エントリーが別のものが表示でき、新規登録もできるようにする事にします。
最初に、entry.html にも「4. テーマを作る際に最低限必要なタグを追記する」の作業が必要になります。
Entry_Body モジュールを設定
一覧ページのときにも紹介されていた Entry_Body の スニペット を entry.html の <main> 〜 </main> に貼り付けます。スニペットをそのまま貼ると、違う部分もありますので、まったく同じレイアウトにしようとすると見比べながら調整が必要になってくるかと思います。
/themes/simple2016/include/entry/bodyNoDate.html か body.html を参考にすると、サンプルと同じ状態になります。
Entry_Body のスニペットの中には、以下のファイルをインクルードしています。これらがないと機能が動作しませんので注意が必要です。
ファイル | 内容 | 表示 |
---|---|---|
/admin/entry/revision-info.html | バージョン管理 | 管理 |
/admin/entry/title.html | 管理ページのタイトル表示用 | 管理 |
/include/unit.html | ユニットの内容を表示 | 一般 |
/include/form/unit.html | 動的フォームの表示 | 一般 |
/admin/entry/edit.html | エントリー追加・更新用フォーム表示 | 管理 |
/admin/entry/add.html | ユニット追加フォーム表示 | 管理 |
/admin/form2/edit.html | 動的フォーム管理用フォーム表示 | 管理 |
/admin/entry/action.html | 変更・追加ボタン表示 | 管理 |
Topic_Path モジュールを設定
Webサイトの階層構造と現在地の関係をわかりやすくするために、トピックパス ( パンくずリスト ) が用意されています。以下の部分を、Topicpath モジュールの スニペット を参考に変更します。
<ul>
<li><a href="index.html">ホーム</a></li>
<li><a href="list.html">一覧</a></li>
<li class="stay"><a href="entry.html">詳細</a></li>
</ul>
その後、管理ページ > モジュールID から「モジュールIDを作成」から作成します。
モジュールを Topicpath を選択し、id を topicpath とし、名前は「トピックパス」のように人が認識できるように名前をつけてください。また、テンプレートのモジュールにも id="topicpath" をつけてください。
<!-- BEGIN_MODULE Topicpath id="topicpath" -->
略
<!-- END_MODULE Topicpath -->
引数のところでは、カテゴリーID とエントリーID にチェックをつけてください。これがないと、モジュールにこのカテゴリーで、このエントリーだということを渡すことができません。
忘れがちなのが、階層の設定です。下層も含める設定をしておかないとサブカテゴリーのような深い階層になった時にカテゴリーが1つしか出ないというトラブルの原因になります。
表示設定では、全ての階層を表示できるように階層数を空に、起点の代替ラベルを HOME に設定しておきます。
Entry_List モジュールを設定
サブカラムに、同じカテゴリーのエントリーの一覧があります。以下の部分を、Entry_List モジュールの スニペット を参考に変更します。
<ul class="acms-list-group">
<li class=""><a href="entry.html" class="acms-list-group-item">エントリー名1</a></li>
<li class=""><a href="entry.html" class="acms-list-group-item">エントリー名2</a></li>
<li class=""><a href="entry.html" class="acms-list-group-item">エントリー名3</a></li>
<li class=""><a href="entry.html" class="acms-list-group-item">エントリー名4</a></li>
<li class=""><a href="entry.html" class="acms-list-group-item">エントリー名5</a></li>
<li class=""><a href="entry.html" class="acms-list-group-item">エントリー名6</a></li>
</ul>
その後、管理ページ > モジュールID から「モジュールIDを作成」から作成します。
モジュールを Entry_List を選択し、id を entry-list とし、名前は「サブカラム用エントリーリスト」のように人が認識できるように名前をつけてください。また、テンプレートのモジュールにも id="entry-list" をつけてください。
<!-- BEGIN_MODULE Entry_List id="entry-list" -->
略
<!-- END_MODULE Entry_List -->
モジュールID の条件設定については、カテゴリーID のチェックボックスにチェックをつけてください。そうする事で、表示されているカテゴリーと同一のエントリーのみが表示されるようになります。