カスタムメンテナンスプラグイン(4.2系)

カスタムメンテナンスプラグイン(4.2系)プラグイン

販売価格:5,000円(税込)

0件の評価

公開日: 2026年2月27日 / 更新日: 2026年4月2日

対応バージョン: 4.2.x 系
4.2系4.2.0|4.2.1|4.2.2|4.2.3|4.2.3-p1|4.2.3-p2

提供:Bootech

サポート: [email protected]

ライセンス: LGPL

商品情報

カスタムメンテナンスプラグイン(4.2系)


カスタムHTMLでメンテナンス画面を編集し、日時指定による自動メンテナンスモード切り替え機能を提供するプラグインです。

管理者の除外設定や特定のパス・IPアドレスの除外機能、プレビュー機能も備えており、計画的なメンテナンス作業を効率的に実行できます。

機能概要

メンテナンス画面カスタマイズ

  • HTMLエディター付きのメンテナンス画面編集機能
  • ACE Editorを使用したシンタックスハイライト
  • プレビュー機能でリアルタイム確認
  • 管理者による閲覧除外設定

タイマー機能

  • 開始日時・終了日時の指定による自動メンテナンスモード切り替え
  • 柔軟な日時管理
  • 開始日時 ≥ 終了日時のケースにも対応した特殊動作
  • 手動制御とタイマー制御の併用可能

除外機能

  • パス除外: 特定のURLパスをメンテナンス対象から除外
  • IP除外: 特定のIPアドレスをメンテナンス対象から除外
  • ワイルドカード対応: パス除外でワイルドカード(*)使用可能
  • 管理画面は常に除外対象

バナー表示機能

  • 管理画面バナー: メンテナンス状況を管理画面に表示
  • フロント画面バナー: 管理者ログイン時にフロント画面に表示
  • カウントダウン機能: メンテナンス開始や終了時間を表示

設定項目

  • メンテナンスモード: 手動でのON/OFF切り替え
  • 管理者での閲覧: 管理者ログイン時のフロント画面閲覧可否
  • メンテナンス画面HTML: カスタムHTMLコンテンツ
  • メンテナンス開始日時: 自動開始タイミング
  • メンテナンス終了日時: 自動終了タイミング
  • 除外パス: メンテナンス対象外のパス(1行に1つ、ワイルドカード対応)
  • 除外IP: メンテナンス対象外のIPアドレス(1行に1つ)

タイマー機能の動作パターン

通常パターン(開始日時 < 終了日時)

2024-12-01 10:00 〜 2024-12-01 18:00
→ 10:00にメンテナンスON、18:00にメンテナンスOFF

特殊パターン(開始日時 ≥ 終了日時)

2024-12-01 18:00 〜 2024-12-01 10:00
→ 10:00にメンテナンスOFF、18:00にメンテナンスON

手動制御との協調

  • タイマー条件を満たした場合、手動設定より優先
  • 管理画面で適切なエラーメッセージを表示
  • タイマー期間外では手動制御が有効
導入方法
  • 当プラグインをインストール&有効化してください
  • 管理画面 > オーナーズストア > プラグイン一覧 > カスタムメンテナンスプラグイン(4.2系) の設定(歯車アイコン)より設定を行ってください
  • メンテナンス画面のHTMLを編集し、必要に応じてプレビューで確認してください
  • タイマー機能を使用する場合は、開始日時・終了日時を設定してください
  • 除外機能を使用する場合は、対象のパスやIPアドレスを設定してください
管理画面での操作

基本設定

  • メンテナンスモード: 即座にメンテナンス開始/終了
  • 管理者での閲覧: 管理者ログイン時の例外設定
  • HTMLエディター: ACE Editorによるシンタックスハイライト付き編集
  • プレビューボタン: 設定内容をリアルタイムで確認

タイマー設定

  • 開始日時: DateTimeピッカーによる直感的な日時選択
  • 終了日時: 開始日時との整合性チェック付き
  • 動作パターン: 設定値に応じた自動判別

除外設定

  • パス除外: URLパスパターンによる柔軟な除外設定
    • 完全一致: / → トップページのみ除外
    • 前方一致: /products/productsで始まるページを除外
    • ワイルドカード: /products/* → 商品系ページのみ除外、/* → 全ページ除外
  • IP除外: 192.168.1.10010.0.0.0/8などのIP/CIDR指定
パス除外の詳細例

基本的な使用例

除外パス設定
マッチするURL例
除外される範囲
/
/のみ
トップページのみ
/help
/help, /help/about, /help/contact
helpページとその配下
/api
/api, /api/users, /api/products/123
APIエンドポイント全体

ワイルドカードの使用例

除外パス設定
マッチするURL例
除外される範囲
/*
すべてのURL
全ページ除外(実質的にメンテナンス解除)
/products/*
/products/, /products/123, /products/category/shoes
商品関連ページのみ
/api/*/public
/api/v1/public, /api/v2/public
パブリックAPIエンドポイント

複数設定例

/help
/api/*
/about
/contact

注意事項

  • 管理画面は自動除外: `管理画面のパスは設定不要で常に除外されます
  • ワイルドカード: *は任意の文字列にマッチします
  • 大文字小文字: 区別されます(/Help/helpは別パス)
  • 完全一致: /は完全一致でトップページのみを除外します
技術仕様
  • メンテナンス判定: EventSubscriberによるリクエストレベル処理
  • 除外判定: IPアドレス・パスパターンマッチング(ワイルドカード対応)
  • タイマー処理: 複雑な条件ロジック
  • HTMLエディター: ACE Editor(Twig mode、Tomorrow theme)
  • 日時管理: DateTime型による秒単位の精密制御
  • バナーシステム: 管理画面・フロント画面での状況表示機能
  • パターンマッチング: 正規表現による柔軟なパス除外処理
ステータス変更時の処理

インストール時

  • DBテーブル plg_custom_maintenance_config を作成
  • ID=1のデフォルト設定レコードを作成
  • デフォルトHTMLテンプレートを設定

アップデート時

  • DBスキーマの更新(タイマー機能用カラム追加)
  • 既存設定データの保持・移行

有効化時

  • 初期設定の確認・作成
  • EventSubscriberの登録

無効化時

  • メンテナンスモードを強制解除
  • 設定データは保持

アンインストール時

  • DBテーブル plg_custom_maintenance_config の削除(オプション)
  • 全設定データの削除
留意事項
  • 本体のカスタマイズを行っている場合、正常に動作しない可能性があります
  • 静的ファイル(CSS、JS、画像等)は除外できません(Webサーバーによる直接配信のため)
  • 管理画面は常にメンテナンスから除外されます
  • タイマー機能は各リクエスト時に判定されるため、指定時刻ちょうどではなく最初のアクセス時に切り替わります
  • ワイルドカード/*を設定すると全ページが除外され、実質的にメンテナンス機能が無効化されます
  • バナーは管理者ログイン時のみフロント画面に表示されます
  • 日時比較はUNIXタイムスタンプを使用して正確な判定を行います
ステータス表示機能のカスタマイズ

フロント

※管理画面にログイン中に、フロント画面にメンテナンスのステータスバナーを表示することができます。
下記の方法でテンプレートを配置してください。

${ECCUBE_ROOT}/src/Eccube/Resource/template/default/default_frame.twig

{% if isMaintenance %}
<div class="ec-maintenanceAlert">
<div>
<div class="ec-maintenanceAlert__icon"><img src="{{ asset('assets/icon/exclamation-white.svg') }}"/></div>
{{ 'メンテナンスモードが有効になっています。'|trans }}
</div>
</div>
{% endif %}

上記のコードを下記に置き換えてください。

{{ include('@BootechCustomMaintenance42/front/custom_maintenance_alert.twig', ignore_missing = true) }}

※タグ配置後は 管理画面 > コンテンツ管理 > キャッシュ管理 より、キャッシュ削除 を行ってください。

管理画面

※管理画面にメンテナンスのステータスを表示することができます。
下記の方法でテンプレートを配置してください。

${ECCUBE_ROOT}/src/Eccube/Resource/template/admin/default_frame.twig

{{ include('@admin/alert.twig') }}

上記のコードを下記に置き換えてください。

{{ include('@admin/alert.twig') }}
{{ include('@BootechCustomMaintenance42/admin/custom_maintenance_info.twig', ignore_missing = true) }} {# 追加 #}

※タグ配置後は 管理画面 > コンテンツ管理 > キャッシュ管理 より、キャッシュ削除 を行ってください。

デモ

デモ環境で動作をご確認いただけます。アクセス情報は下記をご参照ください。
※デモ環境は、EC-CUBEのデフォルト環境にプラグインをインストールし、有効化したのみの状態です。プラグインの仕様によっては、別途追加の設定が必要になる場合がございます。

サイト情報

4.3.x 系
フロント 管理画面 ログインID: administrator パスワード: password12345678
4.2.x 系
フロント 管理画面 ログインID: administrator パスワード: password12345678
4.1.x 系
フロント 管理画面 ログインID: administrator パスワード: password12345678
4.0.x 系
フロント 管理画面 ログインID: administrator パスワード: password12345678
  • 毎日午前0時より数分間、システムメンテナンスを実施します。この間、初期化処理を行うため、設定情報がリセットされます。
  • 事前の予告なしに、システムメンテナンスを実施する場合があります。
  • デモ環境で不具合などを発見された場合は、サポートまでメールでご連絡ください。
開発者情報

プラグインのロジック変更や項目追加のほか、本体カスタマイズも承っております。お気軽にこちらまでご連絡ください。

EC-CUBE やシステム開発関連の情報発信をしています。詳しくは、Bootech 公式サイトをご覧ください。

EC-CUBE 4系のローカル環境構築プロジェクトの運営も行なっています。詳しくは、Docker for EC-CUBE 4をご確認ください。

カスタムメンテナンスプラグイン(4.2系)

PAGE TOP

リリースノート

インストール処理の最適化(2026/04/02)
プラグインインストール時の処理を最適化しました。
カスタムメンテナンスプラグイン(4.2系)の販売を開始しました。(2026/02/27)
プラグインをリリースしました。

PAGE TOP

カスタムメンテナンスプラグイン(4.2系)5,000円(税込)

この商品に対するお客様の声

この商品に対するご感想をぜひお寄せください。

PAGE TOP