Jump to:

1975 Posts in 1305 Topics by 607 members

Form Questions

SilverStripe Forums » Form Questions » Show a form in the sidebar

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

Page: 1
Go to End
Author Topic: 1527 Views
  • michaek
    Avatar
    Community Member
    7 Posts

    Show a form in the sidebar Link to this post

    Seems like this shouldn't be tricky, but I haven't worked it out yet. What I'd like to do is display the form for a page (in this case, a UserDefinedForm) in the sidebar. Let's say it's a contact form we'd like to display on every page.

    We'd think that this might work:

    <% control Page(contact) %>
    $Content
    $Form
    <% end_control %>

    It doesn't - it only displays the Content of the contact page. The reason for this is that the model object is returned from Page(), but Form is a method of the controller. That makes sense, really. It's sort of weird to be getting a display from the model.

    However, that's what we're expected to do here, for some reason, because that's what the Page controller method returns. Would it make more sense if it returned a controller object of some kind? Or should the Form display be passed through the model as well (seems messy to me!).

    This is a problem others have had:
    http://silverstripe.org/archive/show/235767 - Newsletter Signup in Sidebar
    http://silverstripe.org/archive/show/89383 - How to add a "Subscribe Form" into the another page

    I have two questions (because my hunch is the answers are different):
    1. What's the way to get this to work?
    2. What's the cleanest architecture to allow this behavior?

    Thanks!

    1527 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.