公式パッケージ · フレームワーク

Craft CMS の編集中表示とライブエントリー

Craft CMS 5 用プラグイン。同じエントリーを開いている人がわかり、誰かが保存すると再読み込みを促します。エントリーが変わるとページが自動で更新され、Craft Commerce の注文ページはステータスの変化をリアルタイムで反映します。

  • コントロールパネルのエントリーページに同じエントリーを開いている全員が表示され、誰かが保存した瞬間にほかの人へ知らせます。
  • 公開中のエントリーを保存すると craft-entry-{id} に entry-updated、craft-section-{handle} に entry-saved が送られ、テンプレートはポーリングなしで更新できます。
  • Craft Commerce:お客様は注文ステータスをリアルタイムで確認でき、コントロールパネルには新しい注文が届いた瞬間に表示されます。
  • craft.hibira.trigger() でテンプレートから独自のイベントを送れます。actions/hibira/auth がプライベートチャンネルと presence チャンネルに署名します。
同じ Craft のエントリーを開いている 2 人の編集者。コントロールパネルにほかの編集者が表示され、エントリーが保存された瞬間にもう一人へ知らせます。
同じ Craft のエントリーを開いている 2 人の編集者。コントロールパネルにほかの編集者が表示され、エントリーが保存された瞬間にもう一人へ知らせます。

サインインすると、コード例にご自身のクラスターホストが入ります。 サインイン

  1. インストール

    composer require hibira-io/craft-hibira
    php craft plugin/install hibira
  2. 設定する

    # .env (Settings → Plugins → Hibira Realtime reads these by default)
    HIBIRA_APP_ID=YOUR_APP_ID
    HIBIRA_APP_KEY=YOUR_APP_KEY
    HIBIRA_APP_SECRET=YOUR_APP_SECRET
    # and set Host to ws.hibira.io in the plugin settings
  3. 使う

    {% do craft.hibira.registerScript() %}
    
    {# Readers get a "This page was updated" notice with a Reload button #}
    <article data-hibira-entry="{{ entry.id }}">
      {{ entry.body }}
    </article>
    
    {# Send your own events #}
    {% do craft.hibira.trigger('scores', 'goal', { team: 'home' }) %}

始める前に

  • アプリのシークレットは、アプリの作成時とシークレットのローテーション時に一度だけ表示されます。サーバーにだけ置き、ブラウザやゲームのビルドには入れないでください。
  • サイトのアドレスと、異なる場合はコントロールパネルのアドレスを、アプリの許可するオリジンに追加してください。

ダッシュボードのアプリキーを使ってください。シークレットはサーバー側だけに置きます。チャンネル、イベント、認可エンドポイントは Pusher とまったく同じように動作します。 無料でアカウントを作成 →