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]