공식 패키지 · 프레임워크

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 항목을 연 두 편집자: 컨트롤 패널에 함께 편집 중인 사람이 표시되고, 항목이 저장되는 순간 다른 편집자에게 알려 줍니다.
같은 Craft 항목을 연 두 편집자: 컨트롤 패널에 함께 편집 중인 사람이 표시되고, 항목이 저장되는 순간 다른 편집자에게 알려 줍니다.

로그인하면 예제 코드에 내 클러스터 호스트가 채워집니다. 로그인

  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와 똑같이 동작합니다. 무료 계정 만들기 →