Jump to:

794 Posts in 409 Topics by 304 members

Widgets

SilverStripe Forums » Widgets » Widget theming - new & improved in version 2.3

Discuss SilverStripe Widgets.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Page: 1
Go to End
Author Topic: 1554 Views
  • Hamish
    Avatar
    Community Member
    712 Posts

    Widget theming - new & improved in version 2.3 Link to this post

    Hi all,

    A new innovation in version 2.3 (in RC2 now) has particular benefits to Widget developers.

    You can now set themed CSS requirements from within a template with the tag:

    <% require themedCSS(MyCssFile) %>

    Why is this so great?

    To style your widget in previous versions you had to call Requirements::themedCSS. This had to happen from somewhere in the Widget class when a piece of viewable data was requested. Since you never know if some designer is going to modify your widget template, you really should have been calling this for every field.

    Now you can just place that tag at the beginning of your Widget template (.SS) file and let SilverStripe do the hard work! It saves you time and should execute quicker.

    Regards,
    Hamish

  • simon_w
    Avatar
    Forum Moderator
    473 Posts

    Re: Widget theming - new & improved in version 2.3 Link to this post

    You could put the Requirements call in WidgetHolder, then return parent::WidgetHolder() (return nothing from the method and the widget wont display, handy for admin only widgets), which would get called when it gets rendered.

    But this is far better, and less confusing, way to add in Requirements. If I recall correctly, you can do the same with <% require javascript(file) %>, thus ensuring that all your JS is included in the correct order, without overriding WidgetHolder().

    1554 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.