3393 Posts in 976 Topics by 852 members
|Go to End|
28 November 2011 at 1:22pm
I'm hoping someone out there may be able to point me in the right direction.
A site i'm currently working on has 3 different template designs on the inner pages.
Each Template requires a sidebar that has content (entered via its own tab in cms) called "Quick Links", which is a user added one-many list using ModelManager.
I originally set this up in the overall Page.php class and could include it in all 3 templates.
This is not how the client originally intended the quick links to work, and now request that each page have its own unique quick links sidebar.
By moving the ModelManager to the template class name, slightly fixes this problem, but multiple pages can use the same template,. but expect to have a different quick links info in their sidebar.
Is this at all possible to implement?
30 November 2011 at 12:38am Last edited: 30 November 2011 12:40am
Hi, welcome to the forums
Clients... If you want quicklinks to be created separately for each page, one way to go would be to create a 'QuickLink' object that holds the data for each link, simply have the page have a has_many relation QuickLinks, and than use a table field like the ComplexTableField or the DataObjectManager to create links on each page.
static $has_many = array('QuickLinks' => 'QuickLink');
<% control QuickLinks %>
<% end_control %>
If you want to reuse links, that would imply a many_many relation and, depending on the situation, a different setup... ( ManyManyComplexTableField? Modeladmin/ajshort itemsetfield module?)
30 November 2011 at 2:31am
Thank you for the quick response martimiz,
Followed your instructions and it worked perfectly.
I was on the verge of hard coding 5 sidebars, client can now say "See I told you it was possible".
Used the DataObjectManager to add the data, and then displayed my ordered list using the regular <% control QuickLinks %>.
If you're ever in Melbourne, I owe you a beer
|Go to Top|