Ver. 3.1.23 以上で発生する、ユニットが非表示になってしまう問題について


概要

Ver. 3.1.23 以上で、ユニットを1つでも非表示にすると、それ以下のユニットも非表示になってしまう問題が確認されました。 クリティカルな問題になりますので、該当バージョンをお使いの方はアップデートをお願いします。


エントリー編集画面のユニット

エントリー編集画面のユニット

該当バージョン

  • Ver. 3.1.25
  • Ver. 3.1.24
  • Ver. 3.1.23

ワークアラウンド(応急処置)

該当バージョンをお使いで、アップデートがすぐ難しいという方は以下の方法で応急処置できますのでご確認ください。

ablogcms/php/Services/Unit/Rendering/Front.php: 45行目付近

修正前

if (!$isDisplayInvisibleUnit && 'hidden' === $unit->getAlign()) {
    return; // 非表示ユニット
}

修正後

if (!$isDisplayInvisibleUnit && 'hidden' === $unit->getAlign()) {
    continue; // 非表示ユニット
}

「return」を「continue」に変更ください。

CMSバージョンアップによる対応

Ver. 3.1.26 が 9/26 にリリースされています。このバージョンにアップデートすることで、今回の問題に対応できます。

この度はご不便をおかけしてしまい大変申し訳ございませんでした。

本件に関するお問い合わせ先

本件についてご不明点などありましたら以下のお問い合わせよりご連絡ください。

有限会社アップルップル
メールアドレス:info@a-blogcms.jp
お問い合わせフォーム:https://www.a-blogcms.jp/contact/

アラートのメッセージを閉じる

a-blog cmsでは、管理画面で使用されているアラート(.acms-alert)を閉じる機能が実装されています。(Ver. 2.0.0より)

デモ

acms-alert
.acms-alert-info
.acms-alert-danger
<div class="acms-alert acms-alert-icon">
  <button 
    type="button"
    class="js-acms-alert-close acms-alert-icon-after"
    aria-label="アラートを閉じる"
  >
    ×
  </button>
  acms-alert
</div>
<div class="acms-alert acms-alert-info acms-alert-icon">
  <button 
    type="button"
    class="js-acms-alert-close acms-alert-icon-after"
    aria-label="アラートを閉じる"
  >
    ×
  </button>
  .acms-alert-info
</div>
<div class="acms-alert acms-alert-danger acms-alert-icon">
  <button 
    type="button"
    class="js-acms-alert-close acms-alert-icon-after"
    aria-label="アラートを閉じる"
  >
    ×
  </button>
  .acms-alert-danger
</div>

デフォルトの設定

この機能の設定は、/js/config.jsの以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。

  //------------------
  // acms alert close
  acmsAlertCloseMark: '.js-acms-alert-close',
  acmsAlertCloseConfig: {
    target: '.acms-admin-alert, .acms-alert'
  },
  acmsAlertCloseArray: [
    //    {
    //        'mark'    : '',
    //        'config'  : {}
    //    }
  ],


acmsAlertCloseMark 閉じるボタン
acmsAlertCloseConfig 押された時に非表示にする内容

設定のカスタマイズ

config.jsのデフォルトの設定からカスタマイズする場合、別途作成したJSファイルに下記のように記述します。

ACMS.Ready(function(){
  ACMS.Config.acmsAlertCloseMark = '.js-sample-alert-closed';
  ACMS.Config.acmsAlertCloseConfig = {
    target  : '.js-sample-alert'
  };
  ACMS.Config.acmsAlertCloseArray = [
  //    {
  //        'mark'    : '',
  //        'config'  : {}
  //    }
  ],
});

acmsAlertCloseArrayでは配列を渡せるようになっており、複数の設定を指定したいときに使います。
configにはacmsAlertCloseConfigの設定を指定できます。

class属性を.js-close-alertにし、targetの項目を追加する場合には以下のように記述します。

ACMS.Ready(function(){
  ACMS.Config.acmsAlertCloseArray.push({
    mark: '.js-close-alert',
    config: {
      target: 'js-alert'
    }
  });
});

Ver. 3.1.27 リリースのお知らせ


この記事では、2024年10月7日にリリースした Ver. 3.1.27 の修正内容について紹介いたします。

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

Ver. 3.1.27 リリースノート

修正点

  • CMS-6928 Ver. 3.1.23 より、一部のDatePickerでinputに直接値を入力したときにカレンダーに値が反映されない問題の修正
  • CMS-6919 name属性が field となっている フォームコントロール要素の値に [] がついていると php エラーが発生する場合がある問題の修正
  • CMS-6929 pngのリサイズを行うとjpegになる問題を修正
  • CMS-6927 Ver. 3.1.23 より、JavaScript のバンドルサイズが肥大化してしまっている問題の修正
  • CMS-6934 Ver. 3.1.23より、メディアのフィールドグループが動作していない問題の修正
  • CMS-6935 テーマインストール時に、カスタムフィールドグループのメディア画像のデータが壊れた状態でインストールされる問題を修正

主なリリースノートの詳細な内容

CMS-6934 Ver. 3.1.23より、メディアのフィールドグループが動作していない問題の修正

Ver. 3.1.23 の修正により、フィールドグループ内でメディアの JavaScript が動作しておりませんでした。


フィールドグループで追加した項目内にメディアのドロップエリアが表示されていない様子

フィールドグループで追加した項目内にメディアのドロップエリアが表示されていない様子


最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。
また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。
今後ともどうぞよろしくお願いいたします。

モジュールID編集画面のモーダル

a-blog cmsでは、モジュールID編集モーダルを表示する機能が実装されています。(Ver. 1.6.0より)

Ver. 1.7.0より、モーダルをより簡単に実装するテンプレートがsystemテーマの中に入っています
設置箇所:themes/system/admin/module/setting.html



デフォルト設定

この機能の設定は、/js/config.jsの以下の箇所にあります。設定を変更する場合は、適用しているテーマ内にJavaScriptファイルを別途作成してください。詳しくは「組み込みJSについて:設定を編集する」を参照してください。

  moduleManagementMark: '.js-module_management',


moduleManagementMark モジュールID編集モーダルを表示するボタン要素につけるクラス名

使い方

使い方

moduleManagementMark で設定したクラスを、モジュールID編集モーダルを表示する場合にクリックする要素に指定します。

編集したいモジュールID のモジュールIDを data-mid 属性に、ブログIDを、data-bid 属性に指定することで、モジュールID編集モーダル機能を実装することができます。

マウスオーバー時に表示されるウインドウをカスタマイズする場合以下のテンプレートを編集してください。

themes/system/admin/module/setting.html

<!-- BEGIN_MODULE Touch_NotPreview -->
<!-- BEGIN_MODULE Touch_SessionWithAdministration -->
<!-- BEGIN module_setting -->
<!-- BEGIN_IF [{admin_module_mid}/nem] -->
<p class="{{class|default('acms-admin-module-edit')}}"><a href="#" class="js-module_management" data-bid="{admin_module_bid}" data-mid="{admin_module_mid}"><!--T-->モジュール<!--/T--></a></p>
<!-- ELSE -->
<p class="{{class|default('acms-admin-module-edit')}}"><a href="{admin_module_url}" class="js-dialog-btn js-link_no_rewrite"><!--T--><!--$1-->{admin_module_name}<!--/$1--> を編集<!--/T--></a></p>
<!-- END_IF -->
<!-- END module_setting -->
<!-- END_MODULE Touch_SessionWithAdministration -->
<!-- END_MODULE Touch_NotPreview -->

モジュールID編集画面へのモーダルを設置する

モジュールのスニペットには、標準でモジュール設定画面へのリンクが記述してあります。旧バージョンからのアップデートや昔に作成したサイトをベースに構築する場合は個別にモジュール設定画面へのリンクを設置してください。

通常のモジュールの記述

<!-- BEGIN_MODULE Entry_List -->
<div>
  <ul>
    <!-- BEGIN entry:loop -->
    <li><a href="{url}">{title}</a></li>
    <!-- END entry:loop -->
  </ul>
</div>
<!-- END_MODULE Entry_List -->

モーダルを設置した記述

3行目が追加されています。BEGINブロックとENDブロックの間にインクルード文を挿入します。 親の要素に相対した位置に表示されるためインクルード文をdiv要素で囲んでおくと(2行目と9行目)、マウスをホバーした際にモジュールの右上に編集ボタンが表示されます。

<!-- BEGIN_MODULE Entry_List -->
<div>
@include("/admin/module/setting.html")
  <ul>
    <!-- BEGIN entry:loop -->
    <li><a href="{url}">{title}</a></li>
    <!-- END entry:loop -->
  </ul>
</div>
<!-- END_MODULE Entry_List -->