Multiple Express Forms for the same Entity (or categories?)
I checked out Version 8 and immediately realized the power of the new Express feature. However, I find one particular thing very annoying or I am too stupid to use it correctly. For each Express Object I can apparently create multiple forms with a different selection of attributes. This is very handy. However, I don't see any possibility to select the form to be used if a new Express Object is added or one is edited. It always uses the standard form (which can be chosen in the settings).
To explain why I would like to do that I use the same example as Andrew in his Express introduction video. There are boats that belong to a Marina with different attributes such as name and length. Let's now suppose that we have boats of different types, such as sailing boat, rowing boat and motor yacht. I would now like to have a different set of attributes for each boat type. E.g. the sailing boat should have an attribute sail area, while the motor yacht features an attribute engine output, which are unique to this boat type.
Of course I could create three different entities, but that's not what I want as they should be listed by the same express list block.
Is there any way to do that? If not, please regard this as a feature request.
You can have a different form on the front-end, however – if you set up a front-end Form block (which uses Express) you can then create different forms and use those forms on the backend. You can also use these forms through custom code pretty easily (if you create your own dashboard pages) which is something I will be doing a video about fairly soon.
For such purposes I've been misusing the Page List Block to bundle attributes per (Slide/Page) for years now which is, however, pretty awkward because there is no actual page (only the attributes are used in this case). It was a fairly large challenge to explain that to the end-users :-D. The express functionality now finally puts an end to that 'issue'. Now, if I build these slideshows with express I have slides of different types (e.g. title slide, project slide, screenshot slide) with different sets of attributes (e.g. text, title, link, background image, background color and so on). My initial plan to achieve this is to add the whole set of attributes to the slide (say 15) and then have different forms for the different slide types which only feature the specific attributes for this particular slide (say 5, the rest are just empty).
@andrew: first of all a little praise to you guys. I've been working on various CMS (like WordPress or Joomla) over the years and I must say, C5 is cutting edge! +1 for you guys!
I've been sweeping through the core code quickly and I think it should be doable. I'd suggest adding an option 'choose form via popup' and then load a list of the different forms instead of returning the standard form. Or even more badass would be the possibility to automatically output a form according to a select attribute (in my case: slide category).
Another feature that would be extremely handy would be a sitemap-like overview, drag-and-drop sorting-style thing for express objects (tree of slideshows > slides). With the custom sorting possibility you definitely went into this direction already. Namely in this case the ugly Page-List workaround is still one step ahead when it comes to usability. I strongly suspect that many people want to build similar structures like this one in my current project.
Ok! Thanks... I thought about that already, actually. However, I didn't figure out how to output a specific form of a certain entry programmatically. Could you paste me the code for your 'add Boat' menu entry that was seen in the video but not mentioned?