[support] taxonomy_treemenu module/views/Cannot use string offset as an array

Emma Badger emma.badger at chocolateteapot.net
Tue Jul 28 15:07:31 UTC 2009


I'm using the most recent versions of Drupal, Views and Taxonomy  
Treemenu.

The taxonomy treemenus are generating successfully, using the default  
view (taxonomy_router_term).

I'm having problems accessing the content when I'm NOT logged in as  
admin.  I'm using the default view (taxonomy_router_node) and access  
is set to unrestricted.

The 'authenticated user' (which I understand is everyone that is not  
logged in?) gets
Fatal error: Cannot use string offset as an array in /sites/all/ 
modules/taxonomy_treemenu/taxonomy_treemenu.module on line 2367
whereas the admin user gets to see the content.

If I give the authenticated user 'Administer Nodes' permissions I do  
not get the error and I do see the content, however that means that  
anyone can create content, which is not what I want.  Interestingly  
applying all create, delete, edit permissions (but NOT administer  
nodes) brings back the error.

This is the code.

     case "taxmenu/%/node/%/%":
         //Treemenus have no node links. To control exansion, we  
target the
         //parent tid link.
         $item['href'] = 'category/' . $item['page_arguments'][0] 
['vid'] . $item['page_arguments'][1]['parent_path'];
         break;

Specifically, line 2367 is
         $item['href'] = 'category/' . $item['page_arguments'][0] 
['vid'] . $item['page_arguments'][1]['parent_path'];

Logged in as admin $item['page_arguments'] returns:
Array
(
     [0] => Array
         (
             [menu_name] => menu-ol-hlp
             [title] => Online Help
             [description] => Jane Systems online help
             [vid] => 13
             [tid] => 0
             [options] => a:3:{s:6:"filter";a:0:{}s:6:"fields";a:0:{}s: 
4:"sort";a:1:{s:3:"nid";a:1:{s:5:"order";s:3:"ASC";}}}
         )

     [1] => Array
         (
             [0] => Array
                 (
                     [tid] => 55
                     [title] => System Setup
                 )

             [1] => Array
                 (
                     [tid] => 68
                     [title] => Authorisation Centre
                 )

             [parent_path] => /55/68
         )

     [2] => 25
)
But when I'm not logged in I get

a:3:{i:0;i:1;i:1;i:3;i:2;i:4;}
I can see that $item['page_arguments']  isn't being turned into an  
array, but I can't see why.

I've been trying to trace back $router_items to see how it gets  
generated, but I can't seem to find it.

I'd really appreciate any help.

Thanks


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.drupal.org/pipermail/support/attachments/20090728/4c625351/attachment.htm>


More information about the support mailing list