Skip to content

Level51/silverstripe-payload-injector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Silverstripe Payload Injector

License Version

Utility for injecting JSON payload into the DOM at render time.

Requirements

  • Silverstripe 4.x

Installation

  • composer require level51/silverstripe-payload-injector
  • Flush config (flush=all) to register the middleware

Usage

If you do...

public function index() {
  PayloadInjector::singleton()->stage([
    'title'       => 'Silverstripe Payload Injector',
    'description' => 'Utility for injecting JSON payload into the DOM at render time.'
  ]);
  
  return $this->renderWidth('MainView');
}

...in a controller you will have...

    ...
    <script>window.payload = {"title":"Silverstripe Payload Injector","description":"Utility for injecting JSON payload into the DOM at render time."}</script>
  </body>
</html>

...in your template.

Config

Level51\PayloadInjector\PayloadInjector:
  merge_recursive: true     # Merge payload recursively to avoid overriding existing data (default: true)

Maintainer