1. *Create controller and model:* The controller and model to use depend on the table the languages are stored in. For example if the languages are in a table called "languages", then create a model named Language and a controller named LanguagesController.
2. *Create an action that returns the list of languages * In LanguagesController, create an action called getLanguages for example. Basically what it does is query the languages table ( $results=$this->Language->find('all'); ) and then it returns the result ( return $results; ) 3.*Create an element (for example call it language_list.ctp)* First retrieve the information using requestAction (for example: $languages=$this->requestAction('languages/getLanguages') ) Then create the html needed for the languages (for example: foreach($languages as $language){ //html here } 4.*Call the element from the default.ctp layout* * *echo $this->element('language_list'); Now usually I wouldn't use requestAction as it would hit my performance, but since the list of languages is part of the layout, I think it would be the safest way to go. In order to fix the performance costs of requestAction, I would recommend the use of caching (especially that these languages will probably not change very often) You can for example cache the element i.e: you can can add a parameter to the element call from default.ctp: echo $this->element('language_list',array('cache'=>array('time'=>'+1 week','key'=>'languages'))); That is how I would do it. I'm sure there are other (and maybe better) solutions, but this would definitely work. On Fri, Sep 16, 2011 at 12:32 PM, heohni < heidi.anselstet...@consultingteam.de> wrote: > Hi, > > I have a section in my web project where I have to load from the > database the possible languages and their infos like flag image name, > ID, shortcut, etc. > > Within my templates I have in the default.ctp this area: > <div id="flags"> > <?php echo $html->link($html->image('en.png', array('class' => > 'map_icon')), array('controller' => 'lng/eng'), array('title' => > 'English', 'escape' => false));?> > ... > ... > ... > </div> > > This way I have it hard coded, but as said I want to have it > dynamically. > I wonder how I can do this? > > Do I have to use elements for this? Where do I have to place all my > database queries? In which controller? > Within the pages_controller? And how to get the database results into > the element template? > > Please help me out, I am kind of lost right now... > > Thanks! > > -- > Our newest site for the community: CakePHP Video Tutorials > http://tv.cakephp.org > Check out the new CakePHP Questions site http://ask.cakephp.org and help > others with their CakePHP related questions. > > > To unsubscribe from this group, send email to > cake-php+unsubscr...@googlegroups.com For more options, visit this group > at http://groups.google.com/group/cake-php > -- Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions. To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php