Jump to content
Esther E.

IC5: UI Extensions, Part III

By now you might be getting a little tired of hearing about our UI Extensions, but we still have a few more features to talk about. We showed you how to add CSS and data attributes to content. We discussed how to add form fields and menu items. In this final entry on this tool, we'll talk about working with Nodes.


ACP Tools

Nodes are different than the Items and Comments, as they are typically managed in the ACP and not on the front-end. Therefore, we needed additional extension methods to allow developers to handle custom actions.

Let's take a look at Nodes in the ACP.

Could contain: Page, Text, File

There are a few areas where developers may need to insert custom logic. The UINode extension includes the following methods:

  • rowButtons
    Returns an array of action buttons that will be added to the control strip on the right. This method functions identically to the Model::getButtons() method.
  • rowHtml
    Inserts custom HTML to the left of the control strip.
  • rowBadge
    If a badge should be displayed, return an array with the CSS class and language string. Note that anything defined in the base class get__badge() method will take precedence over your extension.


  No Entry

It is important to note that not all Node classes support the form-related methods. We have of course added support for all content containers, such as Forums and Calendars. We will consider including support for other classes upon request, however, nodes that handle infrastructure (e.g. Theme, Lang) will not be supported.

We have also locked down some system-level classes (not all) where any extension is potentially destructive. Classes such as Application and Module cannot be extended.


OK, so what CAN I still do? AMA (well, almost anything).

We still have a few more tools to show you, but at this point we'd like to hear from you. We know there is still a lot of uncertainty around how to migrate your modifications from v4 to v5, and we're here to assist with that. Send us your questions or use-cases by submitting a topic here. Please note that this is a private forum; you will not see topics posted by others, so you are free to share code samples if necessary. We will review your questions, and then aggregate them into an FAQ. The deadline for your question to be considered for the FAQ is September 1. After that you may still submit questions in the Contributor forum, where we will do our best to respond.




Recommended Comments

There are no comments to display.

  • Create New...