Hi Josh, With that sort of code, you'd be better off putting it in your own helper. That helper can load its own helpers, so doing links wouldn't be a problem.
This thread: http://groups.google.com/group/cake-php/browse_thread/thread/f3a8243e2226c696 deals with this approach, but for radio boxes not links; the principle is the same though. Cheers grigri On Aug 12, 12:02 am, Josh <joshs.silver...@gmail.com> wrote: > Hi, > > I have the contents of a tree menu stored in a multi-dimensional > array. The number of dimensions is not fixed, so to turn the array > into a menu in the View file, I have set up a recurring function. This > works fine except that I can't call the $html->link() from the > function. > > Fatal error: Call to a member function link() on a non-object in... > > Any ideas? Is there a way to make the link() function global as you do > a variable? There are some obvious work-arounds such as writing the > anchor tag without the html helper, or turning the link array into a > simpler two dimensional array where I can then iterate the link() > function. However, I am wonder how I might specifically address the > question of making the html->link() function available to a function > within a view file. > > I have a feeling this is either going to be a simple declaration or > not worth the trouble. Thanks in advance. > > Here is my code: > > //array of links > ////key: link title > ////value: link location or sub-array > $linkTree = array( > 'User Management' => array( > 'Permissions' => array( > 'Set Permissions' => '/tools/setPermissions', > 'Update ACOS' => '/tools/updateacl', > 'View/Edit Groups' => '/admin/groups' > ), > 'User Settings' => '/tools/userSettings', > 'Users' => array( > 'List' => '/admin/users', > 'Add User' => '/admin/users/add' > ) > ) > ); > > //output menu function > function outputMenu ($array, $level) { > global $levelMarker; > > foreach ($array as $key => $value) { > if (is_array($value)) { > echo $level . $key; > echo '<br>'; > outputMenu($value, $level . $levelMarker); > } else { > echo $html->link("$level$key", $value); > echo '<br>'; > } > } > echo "<br>"; > } > > //output menu settings > $levelMarker = '-'; > $level = ''; > $linkTreeSimple = array(); > > //output menu > outputMenu($linkTree, $level); --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com 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?hl=en -~----------~----~----~----~------~----~------~--~---