Can't view content structure tree

Author Message

Aleksey Tik

Friday 25 January 2008 7:40:40 am

Hi everyone. I install eZ Publish 4.0. When i login as Admin i can't see content structure tree (at the left of admin page). I see only root folder. I try different packages, but in all my problem is same. Where mistake? Thanks.

Stéphane Bullier

Friday 25 January 2008 9:10:35 am

Hello,

Have you add this rule in your vhost conf :
RewriteRule content/treemenu/?$ /index_treemenu.php - [L]

You have also check the file contentstructuremenu.ini.append.php in admin access and add the class that you want to see :

[TreeMenu]
Dynamic=enabled
ShowClasses[]
ShowClasses[]=folder
ShowClasses[]=xxxx

Stéphane

Aleksey Tik

Saturday 26 January 2008 2:01:28 am

Ok, Stéphane, thanks to you for answer, I'll try do it. :) But can you say me - where this issue describe in manual? May be I read it without attention?

Thank you again.

Aleksey Tik

Monday 28 January 2008 3:17:33 am

I check both: and vhost_conf and contentstructuremenu. All fine, rewrite rule and TreeMenu section are already exist. but unfortunaly content structure not work. Work a pulldown menu only (when i click by right button of mouse). But i don't see a structure of my site.

Stéphane Bullier

Tuesday 29 January 2008 2:27:00 am

Hello Aleksey,

You can find info here about configuration of treemenu : http://ez.no/doc/ez_publish/technical_manual/4_0/reference/configuration_files/contentstructuremenu_ini/treemenu/dynamic

Also I found info here :
http://ez.no/doc/ez_publish/upgrading/upgrading_to_3_10/from_3_9_x_to_3_10_0#eztoc83640_4_1

You can leave you file contentstructuremenu.ini.append.php like that :

<?php /* #?ini charset="utf-8"?
[TreeMenu]
Dynamic=enabled
ShowClasses[]
#ShowClasses[]=folder
#ShowClasses[]=user_group
*/ ?>

I found this post also : http://ez.no/developer/forum/setup_design/solved_3_10_0_no_tree_structure_items_user_media/re_solved_3_10_0_no_tree_structure_items__3

Stéphane

Aleksey Tik

Tuesday 29 January 2008 8:32:38 am

thanks for you answer, Stéphane.

any links or ideas are not help me.

I look at headers between browser and server and find the requst for tree menu data

GET /index.php?/a/content/treemenu?node_id=2&modified=1201275664&expiry=1201621630&perm=43b864bde60564a9abad0598b1d5d203 HTTP/1.1
Accept: */*
Accept-Language: ru
Referer: http://e/index.php?/a
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )
Host: e
Connection: Keep-Alive
Cookie: eZSESSID=niivmc25rr81j6vpv06987o944; eZSESSIDa=pp0pqfmiaq31rtco8ugos2s5u4

as i understand, the idea of the rewrite rule in .htaccess is redirect this request to index_treemenu.php file. i insert into first line of index_treemenu.php a php code

$f = fopen("menuuu", "a");
fwrite($f, "Access to the index_treemenu file \n");
fclose($f);

But after refresh a main admin page i am not found a menuuu file. i cleared a cache, but have not any effect. As i understand thera a problem in RewriteRule in .htaccess. I try follow variants:

RewriteRule content/treemenu/?$ index_treemenu.php
RewriteRule index_treemenu.php - [L]

RewriteRule content/treemenu/?$ /index_treemenu.php [L]

RewriteRule content/treemenu/(.*)? index_treemenu.php?node_id=$1 [L]

RewriteRule (.*)content/treemenu/(.*)$ index_treemenu.php$2 [L]

RewriteRule content/treemenu/(.*)$ index_treemenu.php$1 [L]

RewriteRule content/treemenu(.*)$ index_treemenu.php$1 [L]

also i find that there are no a slash in request
.../index.php?/a/content/<b>treemenu?node_id</b>=2&modified=1201275664...
between filename and first parameter. I tried something like that

RewriteRule content/treemenu\?(.*)$ index_treemenu.php?$1 [L]

but have not any good result....

André R.

Tuesday 29 January 2008 9:19:35 am

You are using fastcgi, the tree menu doesn't work in fastcgi maybee unless you run it in virtual host mode where you use rewrite rules to remove the '?' after index.php or you need to disable the dynamic version of the menu.

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Aleksey Tik

Wednesday 30 January 2008 8:27:53 am

Hello André, thanks for your answer.

Yes, you are right, i use fastcgi. Soon i'll try it in another server where php will be install as a module of apache webserver.
Now i disabled a dynamic menu.

Thanks to all for your answer!

Wei Dai

Monday 07 April 2008 1:42:38 am

Believe it or not, I have the same problem. I am not use fastcgi, and disable dynamic treemenu also didn't help.

I am using WAMP with apache 1.3 + php5.2.5+mysql5

Certified eZ Publish 4 developer looking for develop information & collaboration.

Jordan Hirsch

Sunday 27 April 2008 3:14:40 pm

I am also not using fast cgi, and I am having the exact same problem.

Here is my .htaccess file:

php_value allow_call_time_pass_reference 0
php_value date.timezone America/New_York
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0

<FilesMatch ".">
order allow,deny
deny from all
</FilesMatch>

<FilesMatch "(index\.php|\.(gif|jpe?g|png|css|js|html)|var(.+)storage.pdf(.+)\.pdf)$">
order allow,deny
allow from all
</FilesMatch>

# If you see "Forbidden" when trying to access root page of your site
# without 'index.php' appended, uncomment the following "Files" section.
# NOTE: replace "ezpublish-3.6.0" with base name of the directory
# where your eZ Publish intallation resides.
# e.g. base name of "/sites/ezpublish/ezpublish-3.6.0" is "ezpublish-3.6.0".

#<Files "ezpublish-3.6.0">
#   order allow,deny
#   allow from all
#</Files>

RewriteEngine On
# see http://ez.no/developer/forum/install_configuration/problem_with_new_admin_dynamic_treemenu_solved
RewriteRule content/treemenu/?$ /index_treemenu.php [L]
#RewriteRule content/treemenu/?$ index_treemenu.php
#RewriteRule index_treemenu.php - [L]

RewriteRule !\.(gif|jpe?g|png|css|js|html)|var(.+)storage.pdf(.+)\.pdf$ index.php

DirectoryIndex index.php

Here is my settings/siteaccess/plain_site_admin/contentstructuremenu.ini.append.php file:

<?php /* #?ini charset="utf-8"?

[TreeMenu]
Dynamic=enabled
ShowClasses[]
ShowClasses[]=folder
ShowClasses[]=user_group
ShowClasses[]=article
ShowClasses[]=article_subpage
ShowClasses[]=frontpage
*/ ?>

Setting Dynamic=disabled does not help.

I am using eZ Publish Version 4.0.0, SVN revision: 19785

Thank you all in advance for any help you can offer.

Me: http://jordan.teamhirsch.com
My blog: http://wiredformusic.blogspot.com
My other company: http://thinkimprov.com
eZ Certification: http://auth.ez.no/certification/verify/402488
eZ Award: http://ez.no/company/news/ez_awards_2007_prize_winners

Wei Dai

Saturday 03 May 2008 10:37:28 pm

Every fresh install with eZ 4 has the same problem, regardless if it is on Linux or Windows.

And the default installation settings seem to be all correct, checking for the .ini files are waste of time.

Do any of you know what is exactly the cause for this?

P.S. the .htaccess file also correct!

Certified eZ Publish 4 developer looking for develop information & collaboration.

André R.

Sunday 04 May 2008 2:46:24 am

For those of you that run php in fastcgi mode, could you try my patch for this problem and see if it works:
http://issues.ez.no/IssueView.php?Id=11806&activeItem=2

For those of you that doesn't have fastcgi:
1. When Dynamic=enabled, use firefox with firebug(extension) and enable it (click on grey icon and click enable for this site when you are in the admin interface).
2. When you reload the page you should be able to see if the ajax request complets sucsessfully or if it gets some kind of http error.
3. Post the url of the page, the url of the ajax request and what the ajax request returns (it small post full response, if big then http headers will be sufficient).

Jordan:
>Setting Dynamic=disabled does not help.
Did you clear ini, template & template block cache ?

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Kristof Coomans

Monday 05 May 2008 1:16:21 am

Some bugs in the content tree structure menu, mainly caused by special characters or only numbers in node names, have been fixed and will be included in next releases. You can already try the fixes, maybe one of these bugs is occurring on your site.

http://issues.ez.no/11744

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Jordan Hirsch

Monday 05 May 2008 7:25:14 am

@Andre R:

Jordan:
>Setting Dynamic=disabled does not help.
Did you clear ini, template & template block cache ?

Sorry...I thought I had, but apparently that didn't do it. Once I did a clear with the --purge option, this started working (meaning that setting Dynamic to disabled allowed the menu to display properly). Setting Dynamic to enabled still does not work.

Thank you.

Me: http://jordan.teamhirsch.com
My blog: http://wiredformusic.blogspot.com
My other company: http://thinkimprov.com
eZ Certification: http://auth.ez.no/certification/verify/402488
eZ Award: http://ez.no/company/news/ez_awards_2007_prize_winners

Jérémy Poulain

Friday 30 May 2008 3:29:58 pm

To solve this problem, i did modify two files. First the htaccess

RewriteEngine On
RewriteRule ^(.*)content/treemenu(.*)$ index_treemenu.php$2
RewriteRule index_treemenu.php - [L]

And second design\admin\templates\contentstructuremenu\content_structure_menu_dynamic.tpl line 338

var url = "{"content/treemenu"|ezurl(no)}&node_id=" + nodeID

You can change ? by &, because with cgi eZ Pulish already add ? in the url

H-Works Agency

Monday 04 August 2008 11:13:07 am

Hello,

Dynamic Tree menu doesn't work anymore after switching root node with another object...in my case a frontpage ezflow object.

Does anyone know something about this bug ?

It seems that the 'fetch' function in "kernel/content/treemenu" can't retrieve the object with NodeID=2. It returns NULL instead.

It seems that the switch node OR the fetch function is not working properly.

EZP is Great

zurgutt -

Monday 15 September 2008 8:34:18 am

The stock dynamic treemenu has several possible error conditions, but unfortunately no error reporting whatsoever, so it is hard for users to figure out what went wrong. I have just gone through the lot and maybe this will help others while (hopefully) code is fixed. This refers to ezp 4.0.1 (and 3.10.1 i guess)

1. There is wrong index_treemenu.php coming with distribution. You have to re-download it from http://pubsvn.ez.no/nextgen/stable/4.0/index_treemenu.php

2. You have to set up your .htaccess or virtualhost mod_rewrite rule correctly. There has been a change from previous versions. Refer to step 4 in
http://ez.no/doc/ez_publish/upgrading/upgrading_to_4_0/from_4_0_x_to_4_0_y
(basicly, remove "$" from "RewriteRule content/treemenu/?$ /index_treemenu.php ...."

3. Restart apache.
apache2ctl restart

4. Clear all cacahes from command line(in your site root):
php bin/php/ezcache.php --clear-all --purge

5. Reload the admin page containing the dynamic menu. It may work but keep reading.

6. Check apache log (usually /var/log/apache2/access.log). It should have line like
GET /content/treemenu/2/1221488651/1221489024/43b864bde60564a9abad0598b1d5d203 HTTP/1.1" 200

If it says 404 instead of 200, there is still problem with url rewriting. Try to verify steps above..

7. Finally, there still is one strange bug built in. If user is in content section and there is non-content class there, like a user group for example, the javascript will die. To fix: in admin/templates/contentstructuremenu/content_structure_menu_dynamic.tpl

around line 83, replace
fetch('class','list_by_groups',hash('group_filter',$filter_groups,'group_filter_type',$filter_type))
by
fetch('class','list',hash())

I can not figure out why this filter is included in first place. Only thing it can do is break js.

Also, what is this list_by_groups fetch function? Undocumented.

8. Clear caches again
php bin/php/ezcache.php --clear-all --purge

At this point my menu started to work. Hopefully yours will too.

Certified eZ developer looking for projects.
zurgutt at gg.ee

H-Works Agency

Friday 03 October 2008 2:36:34 am

Boring boring boring.

I have a 403 with the get request when Dynamic is 'enabled'. So nothing shows up. I tried every possible url_rewrite rules in this thread.

Can this be related to the change of root node ? I switched root folder with a frontpage ezflow object then i switched back.

The main problem is that even "Dynamic=disabled" doesn't work anymore now. It only show depth=1. Its not recursive anymore.

It would be nice to test base functionalities a little more before making everybody migrate :)

Thanx in advance.

EZP is Great

zurgutt -

Saturday 04 October 2008 2:22:59 am

Martin, did you fix the bug described in 7. above? Im guessing that is your problem, and mostly everyones. You could verify it by looking for error at browsers javascript console.

Certified eZ developer looking for projects.
zurgutt at gg.ee

Jon Staines

Monday 03 November 2008 7:15:29 am

I just got hit by the bug mentioned in 7 above when moving from 3.10 to 3.10.1

In design/admin/templates/contentstructuremenu/content_structure_menu_dynamic.tpl I changed the lines:

     $filter_type=cond($root_node.path_array|contains($user_root_node_id), 'include', 'exclude')
     $filter_groups=cond($root_node.path_array|contains($user_root_node_id), array( $user_class_group_id ), array($user_class_group_id, $setup_class_group_id))

to:

     $filter_type='exclude'
     $filter_groups=array($setup_class_group_id)

Which I think should mean that I can see all the user, content and media classes in any occurrence of this menu.

Like mentioned before it would be nice if the list_by_groups could be documented.

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.