Hi.

The issue is likely to be in your XSL.

See my entire section about languages:
http://solprovider.com/lenya/language

The easy answer is to always include the language for all links:
http://solprovider.com/lenya/languageurls

You need to add the language to every link in your XSL:
http://solprovider.com/lenya/variables

I've read everything in the urls you gave me, but couldn't find any tip to solve my problem. From what I'm able to see it's not a direct language related issue, it has more to do with Lenya navigation components. I've tracked the source of these components, so I've looked into the following files:

/lenya/navigation.xmap
/lenya/xslt/navigation/*.xsl
/lenya/pubs/{mypub}/xslt/navigation/*.xsl

The immediate visible result when I access http://gris.uninova.pt:8080/lenya/gris/live/staff/asg/profile is that the several navigation components seem to have no idea of the current selected node, which is easily understood since this URL doesn't refer to a real publication document existent in the sitetree with no corresponding XML source in the file system. I couldn't quite figure how does Lenya pass the information of the current selected node when rendering a page, so I'm having difficulties in instructing the publication to point to a staff members document when accessing its profile link. This is my current code relating to the profile link:

   <map:pipeline type="noncaching">
       <map:match pattern="**/staff/*/profile">
           <map:aggregate element="cmsbody">
<map:part src="cocoon://navigation/{page-envelope:publication-id}/{page-envelope:area}/breadcrumb/staff/{2}_{page-envelope:document-language}.html.xml"/> <map:part src="cocoon://navigation/{page-envelope:publication-id}/{page-envelope:area}/tabs/staff/{2}_{page-envelope:document-language}.html.xml"/> <map:part src="cocoon://navigation/{page-envelope:publication-id}/{page-envelope:area}/menu/staff/{2}_{page-envelope:document-language}.html.xml"/>
               <map:part src="cocoon:/staff-{2}"/>
           </map:aggregate>

           <map:transform src="xslt/page2xhtml.xsl">
               <map:parameter name="document-id" value="/staff/{2}"/>
               <map:parameter name="document-type" value="xhtml"/>
<map:parameter name="language" value="{page-envelope:document-language}"/> <map:parameter name="root" value="{page-envelope:context-prefix}/{page-envelope:publication-id}/{page-envelope:area}"/> <map:parameter name="url" value="staff/{2}_{page-envelope:document-language}.html"/>
           </map:transform>

           <map:transform type="i18n">
<map:parameter name="locale" value="{page-envelope:document-language}"/>
           </map:transform>

           <map:transform src="../../xslt/util/strip_namespaces.xsl"/>
           <map:transform type="link-rewrite"/>

           <map:serialize type="html"/>
       </map:match>

The objective is that whether I'm in http://gris.uninova.pt:8080/lenya/gris/live/staff/asg.html or in http://gris.uninova.pt:8080/lenya/gris/live/staff/asg/profile, the navigation components point to same node, which in this case would be staff/asg/. Under publication-sitemap.xmap I've looked into the match that produces the regular documents and tried to reproduce the desired result in my match:

<!-- /lenyabody-{rendertype}/{publication-id}/{area}/{doctype}/{url} -->
     <map:match pattern="lenyabody-*/*/*/*/**">
       <map:aggregate element="cmsbody">
         <map:part src="cocoon://navigation/{2}/{3}/breadcrumb/{5}.xml"/>
         <map:part src="cocoon://navigation/{2}/{3}/tabs/{5}.xml"/>
         <map:part src="cocoon://navigation/{2}/{3}/menu/{5}.xml"/>

For instance, when visiting http://gris.uninova.pt:8080/lenya/gris/live/staff/asg.html the values for the different *'s that matter are:
{2} - gris; {3} - live; {5} - staff/asg.html

that would result in the following string:
<map:part src="cocoon://navigation/gris/live/breadcrumb/staff/asg.html.xml"/>

so I introduced the following code:
<map:part src="cocoon://navigation/{page-envelope:publication-id}/{page-envelope:area}/breadcrumb/staff/{2}_{page-envelope:document-language}.html.xml"/>

With this, the correct node is identified, the menu points to staff/asg and so do the breadcrumbs, yet the URL in the links of the several navigation components are incorrect, again they present an additional "staff" string, for instance http://gris.uninova.pt:8080/lenya/gris/live/staff/index.html instead of the correct one, that would be http://gris.uninova.pt:8080/lenya/gris/live/index.html.

On the other hand, if I use the code that solprovider wrote on a previous mail, which differs from the previous by adding /index to it like this: <map:part src="cocoon://navigation/{page-envelope:publication-id}/{page-envelope:area}/breadcrumb/staff/{2}/index_{page-envelope:document-language}.html.xml"/>
the URL for the same links are correct, but the correct node isn't selected.

Does anyone have an idea how to hardcode this into the pipeline? Any help on this subject would be welcome, thanks in advance, regards,
Rolando


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to