New video series: Building with XenForo 2

A long time ago, in a forum not particularly far, far away (may the fourth be with you), we produced a series of videos showing off how easy it was to build rich pages with XenForo's templates and javascript framework.

While many of the principles demonstrated in these videos remain a key part of XenForo 2, most of the syntax employed by XenForo 1 back then has changed, and there are many more tools at your disposal, like entities and command-line functions.

Building with XenForo 2

Alongside the release of XenForo 2.2.5, it seemed a good time to put together a new series, rounding up all of the key parts of XenForo add-on development, starting with the basic steps of creating a new add-on and moving on to the template system, working with the database using finders and entities, creating and editing content, putting together paginated lists of content items and extending existing classes to add new functionality.

We hope that the videos have something for everyone, from those who are only just starting to think about building with XenForo to those who have been doing so for ages, and may even trigger the realisation that XenForo is not solely a platform upon which add-ons for XenForo can be built, but rather a community framework, capable of acting as the foundational layer for rich community applications in their own right.
Video series logo - Building with XenForo 2
Parts one and two of the series are released today, with parts three and four to follow tomorrow.

On Thursday, as part of XenForo Insights Episode 6 (9am US Central, 3pm UK time via Zoom) we'll have a live recap of the steps so far, and a look ahead to what's in parts five and six, which will be posted immediately following the webinar.

Further parts of the series will be released in the coming days.

Each new part posted will be added to the Building with XenForo 2 playlist.

If you have any comments or suggestions, please post them here in this thread rather than over at YouTube so we can handle them like other content posted here and ensure that they receive the attention they require. As always, requests for technical support should be directed to the appropriate forum.

Here is a list of the videos in the series, which we'll keep updated as new parts are published:
  1. Getting started
  2. Creating and linking test pages
  3. Passing variables to templates
  4. Working with the database - entities and finders
  5. Creating a custom entity
  6. Creating, editing and saving content
  7. Building a form
  8. Listing your content
  9. Paginating your content lists
  10. Class extensions and self-to-many relations
  11. Implementing inline editing with the XF javascript framework
  12. Utilising the Delete controller plugin
  13. Working with permissions
  14. Implementing Reactions
Last edited:


Well-known member
Thank you @Kier I've just watched the new XenForo architecture video.

This is really informative and helpful.
I think that these videos will make it so much easier to invite and on-board new developers. Something that has always been a struggle.

I hope that you will keep this coming.


Well-known member
Awesome videos.
@Kier, in another life you are an audiobook recorder. I very much enjoy your voice.

Topic idea. I struggled a lot to figure out creating custom criteria for an add on. I think that would make a great topic.


Company info
Staff member
If you've ever created a custom content type within XenForo you may have been tempted to add reactions (or formerly Likes) to them but perhaps been concerned that it might be difficult to implement them with your custom code, but if so, your fears were unwarranted.

Reactions are a great way to improve user engagement and interaction, so let's add them to our notes! You may be surprised at just how quick and easy it is to do.

In fact, here in Part 14 of Building with XenForo 2, we implement reactions for our notes content items in just over twenty minutes, including the time it takes for @Kier to waffle on about technical details!

Necessarily, this video also touches on the use of content type fields to provide the reaction_handler_class identification for the demo_pad_note content type...


Active member
Another idea from me. Attachments

Ice Hockey Reaction GIF by NHL