[Catalyst] A View that may include elements optionally
returnedfrom other funcs
Michael Reece
mreece at vinq.com
Wed Apr 25 19:39:04 GMT 2007
my approach in cases like this has been to have models/database
tables for the pages themselves.
- a page has_many components
- a controller queries the db for the components to display on the
page[*] and stashes the list
- the controller, now knowing which components will be displayed,
stashes the appropriate data
- the template loops the list of components and includes each one
- the editor uses an admin interface to select which components to
display on each page
[*] i've done this via attributes, so any action method
marked :CustomizablePage gets preprocessed by a Catalyst::Action
subclass that populates $c->stash-{show_comps}
On Apr 25, 2007, at 8:07 AM, Carl Johnstone wrote:
>> Maybe I am confused about MVC, but wouldn't you want the view to
>> decide how to
>> present what is sent to it by the controller, and hence have the
>> controller
>> handle this?
>
> I don't know if it's you that's confused or me that's confused ;-)
> I can see your point of view though.
>
>> From my point of view, the "View" is handled by a designer. The
>> designer
> knows about HTML, CSS, JS, and enough about TT to get them going.
> They typically wouldn't know anything about perl.
>
> When the designer assembles the pages he decides which of the
> possible common elements is going on each page and will include the
> relevant sub-templates. It makes sense for me to be able to
> delegate control of that to the designer by just letting them
> include what they like without having to be involved every time
> something changes.
>
> As an example during the summer the designer might take the
> football league tables off the site in favour of something else. In
> my Controller though the code that generates that data will still
> be run even though it's now redundant.
>
> Carl
>
>
>
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/
> catalyst at lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/
---
michael reece :: software engineer :: mreece at vinq.com
More information about the Catalyst
mailing list