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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to