コンテンツ専用の「エントリー作成」ボタンで、よりわかりやすく。

a-blog cmsの標準の状態では、管理ボックスの中に「エントリー作成」ボタンがあります。 このボタンをクリックしてエントリー作成画面へ移動し、必要に応じてカテゴリーを選択してエントリーを作成しますが、サイトの構成自体を理解しきれていないと思わぬ場所にエントリーを作成してしまうというケースもあります。

この記事では、実際の運営担当者が迷わないように各コンテンツ専用の「エントリー作成ボタン」を作成する方法を紹介しています。

例として、「お知らせ」カテゴリーにエントリーを作成するボタンを作る方法をご紹介します。

確認しておく情報

まず、対象となるコンテンツのブログIDとカテゴリーIDを確認します。


この例では「お知らせ」カテゴリーはブログID1、カテゴリーID2に設定されています。


ブログのIDを確認

ブログのIDを確認

カテゴリーのIDを確認

カテゴリーのIDを確認


ボタンの作成


※ 管理ボックスでは、テンプレートの継承機能が使われています。テンプレートの継承機能を知らなくても実装できるように本記事では解説しておりますが、詳しい機能の説明について知りたい場合は「テンプレートの継承機能」をご覧ください。

まず、ログイン時に表示される「エントリー作成」「管理ページ」「ログアウト」などのボタン類をインクルードしているファイルは「/themes/system/admin/action.html」なので、/themes/お使いのテーマ/admin/action.html を新しく作成します。

ファイル内に以下の記述をしてください。

@extends("/admin/_layouts/action.html")

@section("entry-insert")
<!-- BEGIN insert -->
<form action="" method="post" class="acms-admin-inline-btn">
  <input type="submit" name="ACMS_POST_2GET" value="<!--T-->エントリー作成<!--/T-->"  class="acms-admin-btn acms-admin-btn-success"/>
 <input type="hidden" name="admin" value="entry-edit" />
 <input type="hidden" name="bid" value="%{BID}" />
 <input type="hidden" name="cid" value="%{CID}" />
</form>
<!-- END insert -->
@endsection

ファイル内に記述されている以下のソースコードはデフォルトの「エントリー作成」ボタンです。

<form action="" method="post" class="acms-admin-inline-btn">
  <input type="submit" name="ACMS_POST_2GET" value="<!--T-->エントリー作成<!--/T-->"  class="acms-admin-btn acms-admin-btn-success"/>
  <input type="hidden" name="admin" value="entry-edit" />
  <input type="hidden" name="bid" value="%{BID}" />
  <input type="hidden" name="cid" value="%{CID}" />
</form>

ブログIDとカテゴリーIDの指定はグローバル変数が使われています。つまり、通常は「表示しているブログ(カテゴリー)にエントリーを追加するボタン」として機能しているということです。

このソースコードをコピーして、任意の場所にペーストし、内容を「お知らせ」カテゴリー専用のエントリー作成ボタンに書き換えます。

<form action="" method="post" class="acms-admin-inline-btn">
  <input type="submit" name="ACMS_POST_2GET" value="<!--T-->お知らせの追加<!--/T-->"  class="acms-admin-btn acms-admin-btn-success"/>
  <input type="hidden" name="admin" value="entry-edit" />
  <input type="hidden" name="bid" value="1" />
  <input type="hidden" name="cid" value="2" />
</form>

今回の「お知らせ」はブログIDが1、カテゴリーIDが2となりますので、グローバル変数の部分をそれぞれ「1」と「2」に直接書き換えます。

これで、お知らせカテゴリー専用のエントリー作成ボタンが追加できました。より更新しやすいサイトを提供するためのひと工夫としてご活用ください。


専用ボタンが増えたaction.html

専用ボタンが増えました

Ver.2.11.36とVer.2.8.72、Ver.2.9.36、Ver.2.10.40リリースのお知らせ


この記事では、2021年4月23日にリリースした Ver.2.11.36、Ver.2.8.72、Ver.2.9.36、Ver.2.10.40 の改善・修正内容について紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver.2.11.36 のリリースノート

  • CMS-5646 acms-form-width-**クラスがselect要素に適用できるように修正
  • CMS-5647 承認依頼POST後に404ページになってしまう問題を修正
  • CMS-5648 @include で、値0の変数が渡せない問題を修正

Ver.2.8.72、Ver.2.9.36、Ver.2.10.40 について

セキュリティアップデートを行いました。
2.8系〜2.10系をご利用の方はアップデートをご検討ください。

最後に

この度はご迷惑をおかけしてしまい申し訳ございませんでした。該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいりますので、引き続き気づいた点がありましたらフィードバックいただけると幸いです。

マルチブログ環境でのトピックパスの設定

ブログが階層化している(マルチブログ環境)の時に、デフォルトだと子ブログを閲覧している時のトピックパスが、子ブログを起点としてパスになってしまいます。これを、ルートブログを起点にしたトピックパスにしましょう。

マルチブログ環境に対応している(親ブログが起点)

親ブログ名 > 子ブログ名 > 親カテゴリー名 > 子カテゴリー名 > エントリー名

マルチブログ環境に対応していない(子ブログが起点)

子ブログ名 > 親カテゴリー名 > 子カテゴリー名 > エントリー名

マルチブログ環境に対応させるには

まず、「Topicpathモジュール」にモジュールIDの設定してモジュールIDを作成しましょう。 モジュールIDの設定で「下の階層のブログが利用することを許可する 」にチェックをしてください。 カテゴリーID(cid)とエントリーID(eid)の引数にチェックがあるか確認しましょう。引数にチェックが無いとエントリーの詳細ページなどでトピックパスが正しく表示されません。


グローバルにチェック

グローバルにチェック


階層のブログ「下階層のブログも含める ( descendant-or-self )」、カテゴリー「下階層のカテゴリーも含める ( descendant-or-self )」に設定しましょう。


ブログ、カテゴリーとも下階層のブログも含めるに設定

ブログ、カテゴリーとも下階層のブログも含めるに設定


モジュールの表示設定

ブログの階層の起点「ルート」、階層の数を空、カテゴリーの階層の起点「ルート」、階層の数を空にしてください。そうすることで全ての階層を上から表示することができます。 また、起点の代替ラベルを設定すると一番上の親ブログを「HOME」のような名称で表示することができます。


トピックパス表示設定

トピックパス表示設定


以上でマルチブログ環境に対応したトピックパスを設定することができました。