This module allows to include custom feincms handlers. Major use cases are ajax-responses that only return a small part of the page or mobile versions of the site.
There is a Legacy version for FeinCMS < 1.5. The main version is for FeinCMS >= 1.5
Allows to ajaxify a FeinCMS website. If a request is Ajax it renders tempates prefixed with ajax_
.
The ajax handler can use history.js (https://github.com/browserstate/history.js) for client-side HTML history.
Checkout this gist for ajaxifying your webiste: https://gist.github.com/854622
For making your Ajax-Site Google crawlable. According to this standard: https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
The handler will look for a template prefixed with snapshot_
and add the
_escaped_fragment_
part as an attribute escaped_fragment
to the request.
You can then render additional content within that template to show a flat
representation of your ajax web site.
Automatically redirect to the page in the user's language if available. Useful for Facebook tabs and places where a language nav cannot be used. Not recommended for general use.
If the request has a GET parameter called 'print', it prefixes the base templates with 'print_'.
If the request contains a GET parameter 'p' with a Page id it redirects to that page. This can be useful if you have to add static links to a FeinCMS page and want to make sure the page is reachable even if moved.
By default, the FeinCMS and the Ajax handlers are active. You can add them like this:
urlpatterns += patterns('', url(r'', include('feincms_handlers.urls')), )
To customize the configuration add this to your urls.py
:
from feincms_handlers import handlers handler = handlers.MasterHandler([handlers.AjaxHandler, handlers.HtmlSnapshotHandler, handlers.FeinCMSHandler]) urlpatterns += patterns('', url(r'^$', handlers.FeinCMSHandler.as_view(), name='feincms_home'), url(r'^(.*)/$', handler, name='feincms_handler'), )
from feincms_handlers import legacy handler = legacy.MasterHandler(['feincms_handlers.legacy.page_id_fallback.handler', 'feincms_handlers.legacy.feincms_print.handler', feincms_handler ]) urlpatterns += patterns('', url(r'^$', handler, name='feincms_home'), url(r'^(.*)/$', handler, name='feincms_handler'), )