Hi Mark, i would do two different controllers. Then you can reliable handle the different access rights and so on.
I would put all the programm logic into a lib function and call this lib function from each controller... each controller function could use the same template to render the page. ...or maybe I did not get you right. Kind regards Cornelius Am 30.10.2011 02:29, schrieb Mark Erbaugh: > I have a website where essentially the same page needs to be viewed in two > (or more locations). In particular, I have a page where the user can edit > their personal profile information, and I would also like an administrator to > be able to edit any user's profile. Keeping things DRY, I feel I should use > the bulk of the same code for both pages. > > The biggest difference with the page in two different locations is that > certain links (such as cancel) need to link to a different page depending on > which page linked to the profile edit page. I've come up with several ways > that this could be handled. Which one is the best practice (or is there a > better way that I've completely missed <g>)? > > 1 Two completely separate pages (I think this violates the DRY principle). > 2 Use the same template for both pages, but have different routes to each and > different view callables (the view callables could share a lot of common > code). > 3 Set a flag in the session that indicates where the page came from. In the > current application, I'm thinking of setting an 'in admin mode' flag as there > are actually several common pages called in admin and non-admin mode with > different locations in the site tree. I envision that this session flag would > be set when the user chooses the admin menu option from the main menu and > cleared when the user returns to the main menu. > 4 Use the HTTP_REFERER header to figure out which page linked to the current > page. I'm concerned abou this because it could mean changing code if I > changed the layout of the website (i.e. right now the HTTTP_REFERER might be > .../main_menu, but I might restructure the code such that the same page was > now at .../main or .../menu). > 5 Store some sort of "breadcrumb" in a hidden field on a form. I think this > would only work with forms. > > Thanks, > Mark >
signature.asc
Description: OpenPGP digital signature
