Ver. 3.1.49 & Ver. 3.0.53 リリースのお知らせ


この記事では、2025年5月23日にリリースした Ver. 3.1.49Ver. 3.0.53 の修正内容について紹介いたします。

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

リリースノート

Ver. 3.1.49 修正点

  • CMS-7208 ログアウト時や読者権限で、テンプレートに管理系・編集系のGETモジュールがあると403エラーになる場合がある問題を修正

Ver. 3.0.53 修正点

  • CMS-7209 ログアウト時や読者権限で、テンプレートに管理系・編集系のGETモジュールがあると403エラーになる場合がある問題を修正

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

CMS-7208 ログアウト時や読者権限で、テンプレートに管理系・編集系のGETモジュールがあると403エラーになる場合がある問題を修正

ログアウト状態または読者権限で、テンプレートに以下管理系GETモジュールがあるページを表示した場合に403エラーになる問題を修正しました。

Admin_Errors モジュール

<!-- BEGIN_MODULE Admin_Errors -->
...
<!-- END_MODULE Admin_Errors -->

Admin_Entry_Edit モジュール

<!-- BEGIN_MODULE Admin_Entry_Edit -->
...
<!-- END_MODULE Admin_Entry_Edit -->

テンプレートを読み込んでいても <!-- BEGIN_MODULE Touch_Edit --> などタッチモジュールで囲んでいる場合に、テンプレートが隠れる場合は発生しません。


最後に

該当する問題がございましたら、できるだけ早めのバージョンアップをご検討ください。

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

スクロールヒント

1. 概要

スマホなどの小さいディスプレイの時に、横に長いコンテンツ(テーブルなど)を横スクロールさせることはよくあると思います。 ただ横スクロールは、あまり行わない操作のため、横スクロールできることに気づきにくくUIとして悩むところです。

そこで、この組み込みJS「Scroll Hint」を導入することで、ユーザーに横スクロールできることを、認知させることに役立ちます。 以下のテーブルをご覧ください。アニメーションで、横にスクロールできることを知らせてくれます。

Col1 Col2 Col3 Col4
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam.
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam.
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam.
Lorem ipsum dolor sit. Lorem ipsum dolor sit. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et, magnam.
Tips. Tips. Tips. Tips.

2. 使用方法

横スクロールするコンテンツの親要素に js-scroll-hint をclass属性として適用します。

<div class="js-scroll-hint">
  <table class="acms-table" style="white-space: nowrap;">
    ...
  </table>
</div>

3. オプション

オプションは js/config.js で設定されています。



項目名 詳細 デフォルト値
suggestClass スクロールが始まった時につくクラス名 is-active
scrollableClass スクロールするコンテンツにつくクラス名 is-scrollable
scrollableRightClass 右にスクロールできるコンテンツにつくクラス名 is-right-scrollable
scrollableLeftClass 左にスクロールできるコンテンツにつくクラス名 is-left-scrollable
scrollHintClass スクロールコンテンツの親要素につくクラス名 scroll-hint
scrollHintIconClass アイコン要素のクラス名 scroll-hint-icon
scrollHintIconAppendClass アイコン要素のクラス名(追加) scroll-hint-icon-white
scrollHintIconWrapClass アイコン要素の親要素のクラス名 scroll-hint-icon-wrap
scrollHintText スクロールメッセージ要素のクラス名 scroll-hint-text
remainingTime 一定時間が経ったらアイコンを非表示にします。 -1
scrollHintBorderWidth シャドーが有効場合のシャドーの幅を指定します。 10
enableOverflowScrolling iOSの場合にスムーズなスクロールになるようにCSSのプロパティを追加します。 true
suggestiveShadow 要素がスクロール可能の場合、アイコンの他にシャドーも表示します。 false
applyToParents 指定されたセレクターの親要素に対してJavaScriptが実行されます。 false
offset アイコンが表示されるのに必要なスクロール量(どれくらいスクロールできる場合にアイコンを表示するのか)を数値(単位はpx)で指定します。 0
i18n.scrollable スクロールのメッセージを変更できます。 スクロールできます

オプション設定例

オプションを上書きする時の例になります。$.extend を使用して部分的に書き換えれるようになっています。

<script>
  ACMS.Ready(function() {
    ACMS.Config.scrollHintConfig = $.extend(ACMS.Config.scrollHintConfig, {
      suggestClass: 'is-active',
      scrollableClass: 'is-scrollable',
      scrollableRightClass: 'is-right-scrollable',
      scrollableLeftClass: 'is-left-scrollable',
      scrollHintClass: 'scroll-hint',
      scrollHintIconClass: 'scroll-hint-icon',
      scrollHintIconAppendClass: 'scroll-hint-icon-white',
      scrollHintIconWrapClass: 'scroll-hint-icon-wrap',
      scrollHintText: 'scroll-hint-text',
      remainingTime: -1,
      scrollHintBorderWidth: 10,
      enableOverflowScrolling: true,
      suggestiveShadow: false,
      applyToParents: false,
      offset: 0,
      i18n: {
        scrollable: 'スクロールできます'
      }
    });
  });
</script>

アイコンの表示位置を調整する

Ver. 3.0.10 より、スクロール可能時に表示されるアイコンの表示位置を変更できるようになりました。Ver. 3.0.9 以前の 「Scroll Hint」ではアイコンが表示される位置が js-scroll-hint クラスが適用された要素の高さの半分がビューポートと交差した時でしたので、縦に長い表などで、表の上側の位置でアイコンを表示することができませんでした。

表示位置の変更方法は簡単で、scrollHintIconClass で設定したクラス(アイコン要素)のスタイルを変更して、表示したい位置に配置するだけです。アイコン要素がビューポートと交差した時にアイコン要素が表示されるようになります。デフォルトでは scrollHintIconClassscroll-hint-icon となっているため、以下のようにCSSを変更すると、js-scroll-hint を適用した要素の上から 25% の位置でスクロール可能時に表示されるアイコンを表示します。

.scroll-hint-icon {
  top: 25%;
}

追従ナビゲーション

a-blog cmsでは、スクロールに追従するサイドメニューを実装するためのJavaScript(Pretty Scroll)が標準で実装されています。

1. 設定の編集

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

// スクロール時の追随
//--------------------
prettyScrollMark: '.js-pretty-scroll',
prettyScrollConfig: {
  container: '.js-pretty-scroll-container',
  offsetTop: 20,
  offsetBottom: 20,
  breakpoint: 767,
  condition: function () {
    return true;
  }
},

HTMLは以下のように記述します。このように記述することで、.js-pretty-scroll-containerが適用された要素の範囲内で、.js-pretty-scrollの要素がスクロールに追従するようになります。

<div class="js-pretty-scroll-container">
  <div class="main">
  </div>
  <div class="sub js-pretty-scroll" data-offset-top="20">
  </div>
</div>

また、data-offset-top に数字を記述することでスクロールする際にその数字分、画面上端からのオフセット距離を記述できます。

オフキャンバスメニュー


オフキャンバスメニューとは、画面全体を右、もしくは左にスライドさせ画面外に隠れていたメニューを表示させる機能です。
この機能を使用するには、組み込みJSと合わせてacms.cssもしくはacms-admin.cssのどちらかを読み込む必要があります。

デフォルト設定

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

offcanvas     : {
    'fixedHeaderMark'  : '.js-offcanvas-header',
    'openBtnMark'      : '.js-offcanvas-btn',//offcanvasを開くボタンのクラス
    'openBtnRMark'     : '.js-offcanvas-btn-r',//offcanvasを右方向に開くボタンのクラス
    'openBtnLMark'     : '.js-offcanvas-btn-l',//offcanvasを左方向に開くボタンのクラス
    'closeBtnMark'     : '.js-offcanvas-close',//offcanvasを閉じるボタンのクラス
    'offcanvasMark'    : '.js-offcanvas',//offcanvasが適応されるエリアのクラス
    'breakpoint'       : 767, //max-widthで指定,'all'を指定すると全画面,
    'throttleTime'     : 100
}


fixedHeaderMark ここで指定したセレクターはposition:fixed;でも画面全体の動きに合わせて移動します。
openBtnMark ここで指定したセレクターをクリック/タッチすることでオフキャンバスメニューを出現させます。
openBtnRMark ここで指定したセレクターをクリック/タッチすることでオフキャンバスメニューを右から出現させます。
openBtnLMark ここで指定したセレクターをクリック/タッチすることでオフキャンバスメニューを左から出現させます。
closeBtnMark ここで指定したセレクターをクリック/タッチすることでオフキャンバスメニューを閉じます。
offcanvasMark ここで指定したセレクターがオフキャンバスメニュー内の項目になります。
breakpoint ここで指定した数字以下の場合にオフキャンバスを利用可能にします。デフォルトでは767px以下の場合にオフキャンバスを利用可能にします。'all'を指定している場合は全画面でオフキャンバスが有効になります。

使い方

オフキャンバスメニューを使用したHTMLの構造は例えば以下のようになります。

<ul class="js-offcanvas" id="offcanvas">
    <li><a href="#">メニュー</a></li>
    <li><a href="#">メニュー</a></li>
    <li><a href="#">メニュー</a></li>
    <li><a href="#">メニュー</a></li>
</ul>
<a class="js-offcanvas-btn js-offcanvas-btn-r" href="#offcanvas">メニューを表示</a>

まず、オフキャンバスメニューのコンテンツとして表示したいHTML要素に、offcanvasMarkで指定したセレクターを指定します。
(※画面幅がbreakpointで指定した値よりも数値が小さい場合はoffcanvasMarkで指定した範囲のHTMLが画面上に表示されなくなるので注意してください )

さらに、js-offcanvas-btnのclass属性が適用された要素に対してdata-target属性もしくはhref属性に、オフキャンバスのコンテンツとして表示したいHTML要素のid名を指定する必要があります。