curios-one wrote:
Thank you, now I'm starting to understand a little more about cps and cpsskins.
The code you provided is very helpful.
I'm wondering if it's better to create new scripts and page templates to obtain what I need
or modify the existing code.
If I understood right what is in charge of showing folder contents in a base
CPS installation
is a navigation portlet (Folder contents) which calls the render method
folder_contents_detailed.
I found the code in portal_skins/cpsportlets_widgets/widget_portlet_navigation
<tal:block condition="python: display == 'folder_contents_detailed'">
<tal:block define="
cpsmcat nocall:here/translation_service;
base_url utool/getBaseUrl;
items python: context.getFolderContents();
format string:one_column;
no_form python:1;">
<metal:block use-macro="here/content_lib_
display_contents/macros/display_contents" />
</tal:block>
</tal:block>
Let me see if I understood well, getFolderContents get a list of the object in
the folder and then the macro display_contents is in charge of building the
html code
Is it possible to add a sort_by parameter to this code?
Or add the sorting parameter, as you suggested, in portal_layouts and
portal_schemas.
I believe that adding sorting and direction parameters directly to the
section would be a nice improvement for cps... something like the
existing hidden_folder
This could be a fast and simple way to have different sorting and
direction based on each section.
Thank you
C.
Hi, the best thing to do is to copy and paste code from
widget_portlet_navigation (navigation portlet) as you've started doing,
then remove all references to datastructures (ds options/datastructure
and other parameters that come the portlet's own schema). Then create a
custom portlet with the page template.
Since custom portlets have no parameters, all parameters available in
the navigation portlet will have to be hardcoded in the page template
instead. However the page template can also get information from the
current section, which is what it does in the code I sent.
then pass the information to:
items python: context.getFolderContents(....);
I think it's called 'sort_on'
that should do the trick.
the schema / layout that you should modify is the one of the "Section"
type (there is no need to change the portlet's schema / layout)
regards
/JM
_______________________________________________
cps-users mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/cps-users