events.rst 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. .. _events:
  2. Events
  3. ======
  4. In order to extend FlaskBB you will need to connect your callbacks with
  5. events.
  6. .. admonition:: Additional events
  7. If you miss an event, feel free to open a new issue or create a pull
  8. request.
  9. A event can be created by placing a :func:`~flask.ext.plugins.emit_event`
  10. function at specific places in the code which then can modify the behavior
  11. of FlaskBB. The same thing applies for template events.
  12. Python Event:
  13. .. sourcecode:: python
  14. def foobar(data)
  15. somedata = "foobar"
  16. emit_event("your-newly-contributed-event", somedata)
  17. Template Event:
  18. .. sourcecode:: html+jinja
  19. {{ emit_event("your-newly-contributed-template-event") }}
  20. Available Events
  21. ----------------
  22. Python Events
  23. ~~~~~~~~~~~~~
  24. None at the moment. :(
  25. Template Events
  26. ~~~~~~~~~~~~~~~
  27. .. data:: before-first-navigation-element
  28. This event inserts a navigation link **before** the **first** navigation
  29. element is rendered.
  30. Example:
  31. .. sourcecode:: python
  32. def inject_navigation_element():
  33. return render_template("navigation_element_snippet.html")
  34. connect_event("before-first-navigation-element", inject_navigation_element)
  35. .. data:: after-last-navigation-element
  36. This event inserts a navigation link **after** the **last** navigation
  37. element is rendered.
  38. Example:
  39. .. sourcecode:: python
  40. def inject_navigation_element():
  41. return render_template("navigation_element_snippet.html")
  42. connect_event("after-last-navigation-element", inject_navigation_element)