この記事は a-blog cms Advent Calendar 2025 の 12日目の記事です。
a-blog cmsの最新バージョン「Ver3.2」が今年発表されました。
新しい機能もあり早速お客様のサイトにも反映していきたい!
と思うところですが、もろもろの理由により、すぐにバージョンアップできないサイトも数多くありました。
「Ver3.2」では色々な機能が追加されていますが、
その中でも今回注目したところは、「エントリー管理」のページです。
Ver3.2のエントリー管理では、エントリーの一覧に表示する項目を設定できるようになりました。
都度エントリーを開いて確認しなくても、一覧で確認できたら便利な項目がありますよね。とても便利になったと思いました。
さて、最新版が出た中で少し逆行してしまうのですが、今回の記事は、
「Ver3.1」などのサイトでも「エントリー管理」の項目をカスタマイズしてみたことがあったのでそのお話になります。
実際に、不動産関連のサイトを制作した際は、一覧でカスタムフィールドに入力した内容が確認できることを喜ばれました^^
編集するためにまずは、該当のファイルを探す必要がありますが、
テーマファイルの場所はこちらです。
「system/admin/_layouts/entry/index.html」
(Ver3.2では、「system/admin/entry/index/v1.html」の様子)
※編集する場合はご自身のテーマにファイルの場所を合わせてコピーしましょう。
ソースコードを見ていき、エントリー一覧を表示している部分を探します。
まずはテーブルヘッダーの箇所
※今回は細かいcssの調整などはしていません。
@section("entry-index-table-thead-tr")
<th class="item-handle acms-admin-hide-sp" style="display: none;"></th>
<th class="acms-admin-table-center acms-admin-th-checkbox acms-admin-table-cell-sm acms-admin-table-nowrap">
<div class="acms-admin-form-checkbox acms-admin-margin-none">
<input type="checkbox" id="checkAll"/>
<label for="checkAll"><i class="acms-admin-ico-checkbox"></i><span class="acms-admin-hide-visually"><!-- T -->すべてのエントリーを選択する
<!--T--></span></label>
</div>
</th>
<!-- BEGIN_IF [%{axis}/neq/descendant-or-self] -->
<th class="acms-admin-table-nowrap"><!--T-->表示順<!--/T--></th>
<!-- END_IF -->
<th class="acms-admin-table-nowrap acms-admin-hide-lg acms-admin-hide-xl">編集</th>
<th class="acms-admin-table-nowrap">ID</th>
<th class="acms-admin-table-nowrap"><!--T-->ステータス<!--/T--></th>
<th><!--T-->タイトル<!--/T--> / <!--T-->コード<!--/T--></th>
<th><!--T-->日時<!--/T--> </th>
<th class="acms-admin-table-nowrap"><!--T-->ブログ<!--/T--> / <!--T-->カテゴリー<!--/T--></th>
<th><!--T-->ユーザー<!--/T--></th>
<th class="acms-admin-table-nowrap"></th>
<th class="acms-admin-table-nowrap"></th>
@endsection例として、Ver3.2と同じ並びにしてみます。
編集については、テーブルタグの編集になります。
@section("entry-index-table-thead-tr")
<th class="item-handle acms-admin-hide-sp" style="display: none;"></th>
<th class="acms-admin-table-center acms-admin-th-checkbox acms-admin-table-cell-sm acms-admin-table-nowrap">
<div class="acms-admin-form-checkbox acms-admin-margin-none">
<input type="checkbox" id="checkAll"/>
<label for="checkAll"><i class="acms-admin-ico-checkbox"></i><span class="acms-admin-hide-visually"><!-- T -->すべてのエントリーを選択する
<!--T--></span></label>
</div>
</th>
<!-- BEGIN_IF [%{axis}/neq/descendant-or-self] -->
<th class="acms-admin-table-nowrap"><!--T-->表示順<!--/T--></th>
<!-- END_IF -->
<th class="acms-admin-table-nowrap acms-admin-hide-lg acms-admin-hide-xl">編集</th>
<th class="acms-admin-table-nowrap">ID</th>
<th class="acms-admin-table-nowrap"><!--T-->ステータス<!--/T--></th>
<th><!--T-->タイトル<!--/T--></th>
<th><!--T-->コード<!--/T--></th>
<th><!--T-->メイン画像<!--/T--></th>
<th><!--T-->カテゴリー<!--/T--></th>
<th class="acms-admin-table-nowrap"><!--T-->ブログ<!--/T--></th>
<th><!--T-->日時<!--/T--> </th>
<th><!--T-->更新日時<!--/T--></th>
<th><!--T-->タグ<!--/T--></th>
<th><!--T-->ユーザー<!--/T--></th>
<th class="acms-admin-table-nowrap"><!--T-->アクション<!--/T--></th>
<th class="acms-admin-table-nowrap"></th>
@endsection同じようにテーブルボディの箇所も同じ並びになるように編集します。
テーブルボディのところは、<!-- BEGIN entry:loop --> で囲まれており、カスタムフィールドの値もそのまま出力されましたので、これもうれしいポイントです。
@section("entry-index-table-tbody-tr")
<td class="item-handle acms-admin-td-sort acms-admin-hide-sp" style="cursor: move; display: none;"><i
class="acms-admin-icon-sort"></i></td>
<td class="acms-admin-table-center acms-admin-td-checkbox acms-admin-table-nowrap">
<div class="acms-admin-form-checkbox acms-admin-margin-none">
<input type="checkbox" id="input-checkbox-eid{sort#eid}" name="checks[]" value="{bid}:{eid}"/>
<label for="input-checkbox-eid{sort#eid}"><i class="acms-admin-ico-checkbox"></i><span
class="acms-admin-hide-visually"><!-- T -->エントリータイトル「{title}」を選択する<!-- /T --></span></label>
</div>
</td>
<!-- BEGIN_IF [%{axis}/neq/descendant-or-self] -->
<td class="acms-admin-td-number">
<!-- BEGIN sort:veil -->
<input type="text" class="sort-number" name="sort-{sort#eid}" value="{sort}" size="4" {disabled}/>
<!-- END sort:veil -->
</td>
<!-- END_IF -->
<td class="acms-admin-text-center acms-admin-hide-lg acms-admin-hide-xl"><a href="{editUrl}"
class="acms-admin-edit-icon-btn"><span
class="acms-admin-icon-control-edit" aria-label="<!--T-->編集<!--/T-->"></span></a></td>
<td class="acms-admin-td-id">
<span class="acms-admin-label label-default">{eid}</span>
</td>
<td class="acms-admin-table-nowrap acms-admin-text-center">
<small><!-- BEGIN status#close --><span class="acms-admin-label acms-admin-label-danger admin-status-label"><!--T-->非公開
<!--/T--></span><!-- END status#close --><!-- BEGIN status#open --><span
class="acms-admin-label acms-admin-label-info admin-status-label"><!--T-->公開<!--/T--></span>
<!-- END status#open --><!-- BEGIN status#draft --><span
class="acms-admin-label acms-admin-label-warning admin-status-label"><!--T-->下書き<!--/T--></span>
<!-- END status#draft --></small>
</td>
<td>
<a href="{entryUrl}" class="acms-admin-td-title">
<p class="acms-admin-entryTitle">{title}</p>
</a>
<p class="acms-admin-margin-none">{code}</p>
</td>
<td>
{datetime}[date('Y/m/d H:i')]
<!-- BEGIN_IF [%{ORDER}/lk/updated_datetime]-->
<br>
<span class="acms-admin-label">更新日時</span> {updated_datetime}[date('Y/m/d H:i')]
<!-- END_IF -->
<!-- BEGIN_IF [%{ORDER}/lk/posted_datetime]-->
<br>
<span class="acms-admin-label">投稿日時</span> {posted_datetime}[date('Y/m/d H:i')]
<!-- END_IF -->
</td>
<td>
<ul class="acms-admin-list-nostyle">
<li><a href="{blogUrl}"><i class="acms-admin-icon acms-admin-icon-blog"></i>{blogName}</a></li>
<!-- BEGIN category:veil -->
<li><a href="{categoryUrl}"><i class="acms-admin-icon acms-admin-icon-category"></i>{categoryName}</a></li>
<!-- END category:veil -->
</ul>
</td>
<td class="acms-admin-td-user">
<a href="{userUrl}">
<img
src="%{ARCHIVES_DIR}{userIcon}"
width="28"
height="28"
alt="%{SESSION_USER_NAME}"
class="acms-admin-user acms-admin-margin-right-small acms-admin-cell-text-middle"
>{userName}</a>
</td>
@include("/admin/entry/field-list.html")
<td class="acms-admin-td-edit acms-admin-table-nowrap">
<div class="acms-admin-btn-group acms-admin-btn-group-entry admin-entry-dropdown-toggle">
<div class="js-acms-dropdown-toggle">
<a class="acms-admin-btn-admin" href="{editUrl}"><!--T-->編集<!--/T--></a>
<button type="button" class="acms-admin-btn-admin js-acms-dropdown-btn">
<span class="acms-admin-arrow-bottom"></span>
</button>
<ul class="js-acms-dropdown-menu" role="menu" data-within=".js-admin_table-sortable">
<!-- BEGIN_MODULE Touch_Approval --><!-- BEGIN_MODULE Touch_sessionWithApprovalAdministrator -->
<li><a href="/bid/%{BID}/eid/{eid}/admin/entry_approval-history/"><!--T-->承認履歴<!--/T--></a></li>
<li class="acms-admin-divider"></li><!-- END_MODULE Touch_sessionWithApprovalAdministrator -->
<!-- END_MODULE Touch_Approval --><!-- BEGIN_MODULE Touch_SessionWithContribution -->
<li><a href="#" class="js-acms_entry_index_duplicate"><!--T-->複製<!--/T--></a></li>
<li class="acms-admin-divider"></li><!-- END_MODULE Touch_SessionWithContribution -->
<!-- BEGIN adminDeleteActionLoop -->
<li><a href="#" class="js-acms_entry_index_delete"><!--T-->削除<!--/T--></a></li>
<!-- END adminDeleteActionLoop -->
</ul>
</div>
</div>
</td>
<td>
<!-- BEGIN_IF [{lockUser}/nem] -->
<!-- BEGIN_IF [{selfLock}/eq/yes] -->
<div>
<button
type="submit"
class="acms-admin-btn-icon acms-admin-btn-unstyled"
form="entry-unlock-form"
onclick="return confirm('<!--T-->ロックを解除してもよろしいですか?<!--/T-->')"
name="eid"
value="{eid}"
>
<i class="acms-admin-icon-large acms-admin-icon-logout"></i>
</button>
</div>
<!-- ELSE -->
<span class="acms-admin-btn-icon">
<i
class="acms-admin-icon-large acms-admin-icon-lock js-acms-tooltip"
data-acms-position="top-left"
data-acms-tooltip="{lockUser}さんが編集中です"
></i>
</span>
<!-- END_IF -->
<!-- END_IF -->
</td>
@endsectionこちらも調整して項目を合わせます。
@section("entry-index-table-tbody-tr")
<td class="item-handle acms-admin-td-sort acms-admin-hide-sp" style="cursor: move; display: none;"><i
class="acms-admin-icon-sort"></i></td>
<td class="acms-admin-table-center acms-admin-td-checkbox acms-admin-table-nowrap">
<div class="acms-admin-form-checkbox acms-admin-margin-none">
<input type="checkbox" id="input-checkbox-eid{sort#eid}" name="checks[]" value="{bid}:{eid}"/>
<label for="input-checkbox-eid{sort#eid}"><i class="acms-admin-ico-checkbox"></i><span
class="acms-admin-hide-visually"><!-- T -->エントリータイトル「{title}」を選択する<!-- /T --></span></label>
</div>
</td>
<!-- BEGIN_IF [%{axis}/neq/descendant-or-self] -->
<td class="acms-admin-td-number">
<!-- BEGIN sort:veil -->
<input type="text" class="sort-number" name="sort-{sort#eid}" value="{sort}" size="4" {disabled}/>
<!-- END sort:veil -->
</td>
<!-- END_IF -->
<td class="acms-admin-text-center acms-admin-hide-lg acms-admin-hide-xl"><a href="{editUrl}"
class="acms-admin-edit-icon-btn"><span
class="acms-admin-icon-control-edit" aria-label="<!--T-->編集<!--/T-->"></span></a></td>
<td class="acms-admin-td-id">
<span class="acms-admin-label label-default">{eid}</span>
</td>
<td class="acms-admin-table-nowrap acms-admin-text-center">
<small><!-- BEGIN status#close --><span class="acms-admin-label acms-admin-label-danger admin-status-label"><!--T-->非公開
<!--/T--></span><!-- END status#close --><!-- BEGIN status#open --><span
class="acms-admin-label acms-admin-label-info admin-status-label"><!--T-->公開<!--/T--></span>
<!-- END status#open --><!-- BEGIN status#draft --><span
class="acms-admin-label acms-admin-label-warning admin-status-label"><!--T-->下書き<!--/T--></span>
<!-- END status#draft --></small>
</td>
<td>
<a href="{entryUrl}" class="acms-admin-td-title">
<p class="acms-admin-entryTitle">{title}</p>
</a>
</td>
<td>
<p class="acms-admin-margin-none">{code}</p>
</td>
<td>
<p class="acms-admin-margin-none"><img alt="{mainImage@alt}" src="%{MEDIA_ARCHIVES_DIR}{mainImage@path}" width="100" height="{mainImage@ratio}[getHeightFromRatio(100)]" /></p>
</td>
<td>
<!-- BEGIN category:veil -->
<a href="{categoryUrl}"><i class="acms-admin-icon acms-admin-icon-category"></i>{categoryName}</a>
<!-- END category:veil -->
</td>
<td>
<a href="{blogUrl}"><i class="acms-admin-icon acms-admin-icon-blog"></i>{blogName}</a>
</td>
<td>
{datetime}[date('Y/m/d H:i')]
</td>
<td>
{updated_datetime}[date('Y/m/d H:i')]
</td>
<td>
<!-- BEGIN tag:veil -->
<!-- BEGIN tag:loop --><a href="{url}" class="acms-inline-space">{name}</a> <!-- END tag:loop -->
<!-- END tag:veil -->
</td>
<td class="acms-admin-td-user">
<a href="{userUrl}">
<img
src="%{ARCHIVES_DIR}{userIcon}"
width="28"
height="28"
alt="%{SESSION_USER_NAME}"
class="acms-admin-user acms-admin-margin-right-small acms-admin-cell-text-middle"
>{userName}</a>
</td>
@include("/admin/entry/field-list.html")
<td class="acms-admin-td-edit acms-admin-table-nowrap">
<div class="acms-admin-btn-group acms-admin-btn-group-entry admin-entry-dropdown-toggle">
<div class="js-acms-dropdown-toggle">
<a class="acms-admin-btn-admin" href="{editUrl}"><!--T-->編集<!--/T--></a>
<button type="button" class="acms-admin-btn-admin js-acms-dropdown-btn">
<span class="acms-admin-arrow-bottom"></span>
</button>
<ul class="js-acms-dropdown-menu" role="menu" data-within=".js-admin_table-sortable">
<!-- BEGIN_MODULE Touch_Approval --><!-- BEGIN_MODULE Touch_sessionWithApprovalAdministrator -->
<li><a href="/bid/%{BID}/eid/{eid}/admin/entry_approval-history/"><!--T-->承認履歴<!--/T--></a></li>
<li class="acms-admin-divider"></li><!-- END_MODULE Touch_sessionWithApprovalAdministrator -->
<!-- END_MODULE Touch_Approval --><!-- BEGIN_MODULE Touch_SessionWithContribution -->
<li><a href="#" class="js-acms_entry_index_duplicate"><!--T-->複製<!--/T--></a></li>
<li class="acms-admin-divider"></li><!-- END_MODULE Touch_SessionWithContribution -->
<!-- BEGIN adminDeleteActionLoop -->
<li><a href="#" class="js-acms_entry_index_delete"><!--T-->削除<!--/T--></a></li>
<!-- END adminDeleteActionLoop -->
</ul>
</div>
</div>
</td>
<td>
<!-- BEGIN_IF [{lockUser}/nem] -->
<!-- BEGIN_IF [{selfLock}/eq/yes] -->
<div>
<button
type="submit"
class="acms-admin-btn-icon acms-admin-btn-unstyled"
form="entry-unlock-form"
onclick="return confirm('<!--T-->ロックを解除してもよろしいですか?<!--/T-->')"
name="eid"
value="{eid}"
>
<i class="acms-admin-icon-large acms-admin-icon-logout"></i>
</button>
</div>
<!-- ELSE -->
<span class="acms-admin-btn-icon">
<i
class="acms-admin-icon-large acms-admin-icon-lock js-acms-tooltip"
data-acms-position="top-left"
data-acms-tooltip="{lockUser}さんが編集中です"
></i>
</span>
<!-- END_IF -->
<!-- END_IF -->
</td>
@endsectionこのように調整してみると、「エントリー管理」のページはこのようになりました。
「Ver3.2」の見た目に近づいたのではないでしょうか。
「エントリー管理」の項目をカスタマイズしたい!
という方がいたらぜひ試してみてください。
「Ver3.2」にアップデートする方が多いとは思いますが...
それでは。
※テストで使用したテーマは「UTSUWA」を使用いたしました。