Summary
Default site context does not load templates, chunks and some snippets do not to run (f.e. getResources does not run, but pdoResources and SimpleSearchForm work OK) unless the user is logged as the default context manager or site administrator.
If the page is not cached, (void template) is used, so it is only possible to see the [[*content]].
pdoResources can process @INLINE chunks, bot cannot load pre-saved chunks. Global and context variables are processed as usual, resource fields and TVs can be displayed via [[*fieldname]].
For some reason it works with default context (web) only. Any other contexts seem to work fine.
Friendly URLs are not used, filesystem is accessible as anonymous.
Environment
MODX version: MODX Revolution 2.6.5-pl
Apache version: unknown, can’t reach
OS: FreeBSD (legacy from the person long before me, don’t even know how to look at it)
Browser: Chrome, Opera, Mozilla, Yandex
I suspect the “(anonymous)” user group lacks some basic permission.
Right-click on the context in the tree → choose “Edit context” and select the “Access Permissions” tab.
- Is there an entry for the user group “(anonymous)”?
- What is the access policy?
- Is there a difference between the working contexts and the one that doesn’ work?
The differences are in bold.
Context | Group | Rank | Policy
web | (Anonymous) | 9999 | Load Only
web | Administrator | 0 | Adminstrator
web | WebManagers | 9999 | Content Editor
In the top menu → cog-wheel icon → “Access Control Lists” → tab “User Groups & Users” → right-click the “(anonymous)” user group and select “Update User Group”.
In the tab “Permissions” are there maybe different access policies for resource-groups or element-categories for the different contexts?
Negative. All contexts – Load Only.
I disabled caching and found out: chunks that are used in the other contexts can be loaded both via tag [[$chunk]]
and by the snippets (tried with both pdoResources and getResources). Otherwise the chunk is not loaded.
Also templates used in other contexts are loaded.
Snippets run whatever.
So what is the difference between chunks that are used in the other contexts and chunks that are used in this context? Are they in different categories?
I still sounds like there may be a difference in the Element Category Access:
Element category access is void everywhere.
Tried to move the chunk and template from one category to another.
Result: if the element is not a branch for the category designed for the web context, it is loaded.
Update: element is not loaded only as a child of web category or a child of a child of web category.
Update: giving (anonymous) access to the category results in nothing changing.