silverstripe-australia / silverstripe-pagejax
Adds partial page loading using ajax
Installs: 37
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 7
Forks: 1
Language:JavaScript
Type:silverstripe-module
Requires
Replaces
This package is not auto-updated.
Last update: 2022-02-01 12:32:25 UTC
README
IMPORTANT
This module is no longer actively maintained, however, if you're interested in adopting it, please let us know!
Pagejax module for SilverStripe
Adds partial page loading using ajax.
Installation
Follow the standard SilverStripe module installation procedure
Requirements
You must have jquery included in your page
Usage
Cuurently we need to modify Page_Controller and add the following method
public function getViewer($action) { $viewer = parent::getViewer($action); $this->extend('updateViewer', $action, $viewer); return $viewer; }
Modify your main Page.ss template and change
$Layout
to
<div class="pagejax-container">$Layout</div>
Then, any link you want to loaded internally needs to have the pagejax class applied, ie
<a href="some/internal/page" class="pagejax">Internal page</a>
To customise the way the page transitions in and out, you can bind to the window.pagejaxStart and window.pagejaxComplete events, eg
$(window).bind('pagejaxStart', function () { });
To change the page title on each refresh, specify an ajaxTitle()
method on
your Page_Controller class; otherwise, the page title will not be chanaged.
The module does take into account CSS and JS added using Requirements:: by parsing out relevant headers