--- Aditya Verma <[EMAIL PROTECTED]> wrote: > Hi All, > > I want all of my controllers to register there > respective URLs with > description. this data will be used in template to > create dynamic HTML > pages. > controllers will register URLs at catalyst startup. > > I have to store this data into variable (not in any > file or database) which > will be accessible in all the controllers. > To get the registration work I have to write > statement outside of all > controller methods to execute the same at the time > of catalyst startup. > > hope you guys can understand my requirement. > > Thanks, > Aditya
Aditya, Since your actions can map URL's in different ways, it may not be easy to dynamically create a sitemap object in the way you are talking about. Because if an action accepts parameters than it can potentially map to a large number of URLs. If you just want to have some additional information placed into the stash for all the actions in a given controller, you can do that in a :begin action, which is run for each request to a controller. However if this information is presentation related you might prefer to place it into a configuration file for your view templates. For example if you are using Template Toolkit, you can include a template that just defines some local information. That way you can modify the information without having to deal with the controllers. Not sure if I am helping. Good luck! John > > On 8/21/07, John Napiorkowski <[EMAIL PROTECTED]> > wrote: > > > > > > --- Aditya Verma <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > > > I am running catalyst under apache configured > with > > > mod_perl. > > > > > > Can I somehow access stash out methods. > > > > > > I want to declare a global variable inside > > > controller and outside methods > > > which will be accessible in all controllers. > > > stash could be a solution but outside methods > > > context object is not > > > available so i don't have access to stash. > > > > > > please help me solve the problem. > > > > > > Thanks, > > > Aditya > > > > Hi, > > > > I may not fully understand your use case, but > > typically the stash is used for a particular > context, > > not as a global thing. > > > > You can alway pass the context to methods that > need > > it. I know it seems cumbersome, but the reason is > to > > make you really think if you need it, the idea > being > > that you should try to decouple your context as > much > > as possible. > > > > If you need some global information there are a > few > > ways I can think of: > > > > 1) put it into the configuration file. This is > great > > for static stuff, like admin email address, etc. > > 2) Create a model that provides the information > you > > need. If this information is based on the current > > context you can inherit from > > "Catalyst::Component::ACCEPT_CONTEXT" to build it. > > 3) Create a base controller with a method that > gets > > the information you need. The have the > controllers > > that need this information inherit from that. > > > > You might get the suggestion to make this a > catalyst > > plugin, but that's no longer recommended best > > practices. Plugins should be reserved for when > you > > are trulying enhancing/extending the basic > Catalyst > > features. > > > > Please share with us the details of the use case > and > > maybe we can help. > > > > --John > > > > > > > > > > > ____________________________________________________________________________________ > > Choose the right car based on your needs. Check > out Yahoo! Autos new Car > > Finder tool. > > http://autos.yahoo.com/carfinder/ > > > > _______________________________________________ > > List: Catalyst@lists.rawmode.org > > Listinfo: > http://lists.rawmode.org/mailman/listinfo/catalyst > > Searchable archive: > > > http://www.mail-archive.com/catalyst@lists.rawmode.org/ > > Dev site: http://dev.catalyst.perl.org/ > > > > _______________________________________________ > List: Catalyst@lists.rawmode.org > Listinfo: > http://lists.rawmode.org/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/catalyst@lists.rawmode.org/ > Dev site: http://dev.catalyst.perl.org/ > ____________________________________________________________________________________ Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out. http://answers.yahoo.com/dir/?link=list&sid=396545433 _______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/