Hi Lars,
Lars Geldner schrieb:
Hi Andreas,
* I added a new page to my publication called "includetest".
* In the body of that page I added only one div element:
<div id="refsea"></div>
* In the XSLT stylesheet webapps/lenya/lenya/pubs/mypub/xslt/page2xhtml.xsl I
added the following template:
<xsl:template match="xhtml:d...@id = 'refsea']">
<ci:include
src="lenya-document:1bce25c0-4381-11dd-9dcc-b5128f75d5b3?format=xhtml"/>
</xsl:template>
(In the first step I only want to test including a page of the same publication,
therefore the parameter "pub" is missing. The referenced document is in the
same publication.)
* When I open the page "includetest", this page is empty. The HTML source code
of that page looks like:
<!-- ... -->
<div id="main">
<div id="body">
<include xmlns="http://apache.org/cocoon/include/1.0"
src="lenya-document:1bce25c0-4381-11dd-9dcc-b5128f75d5b3?format=xhtml" />
</div>
</div>
That means, Lenya has not transformed the include element.
* IMHO I have to add an include transformer to the publication sitemap, is it
right?
Yes, this is correct.
But when I add something like that
<map:pipeline>
<map:match pattern="**/includetest.html">
<map:transform type="cinclude"/>
</map:match>
</map:pipeline>
Lenya says "Must set a generator before adding transformer 'cinclude'
". I think, I'm on the right way, but can you please provide my a hint of how
to transform the include element?
You have to add the include transformation step to an existing pipeline
that already processes the document. You could for instance use this
pipeline in the sitemap of the default publication:
<map:match pattern="lenyabody-*/*/*/*/**">
…
</map:match>
The position of the transformation step depends on the steps you want to
execute before/after the inclusion, but it should certainly be
positioned before the uuid2url transformer.
BTW, it will become a bit tricky to rewrite the links in the included
document. If it contains internal links without the pub parameter, the
uuid2url transformer will try to resolve them in the current
publication, which will lead to errors. You could extend the link
resolver so that it looks in other publications if the document is not
found in the current publication.
HTH,
-- Andreas
Thanks in advance!
Lars
Datum: Thu, 12 Mar 2009 21:43:49 +0100
Von: Andreas Hartmann <[email protected]>
An: [email protected]
Betreff: Re: share sites between publications
Hi Lars,
Lars Geldner schrieb:
Dear lenya users and developers,
we have two publications. How can we integrate a site of one
publication into another publication?
with the term "site", are you referring to a single page (i.e., Lenya
document), or to a subsite (i.e., sub-sitetree)?
For example, we want to have a
link in the site tree of the first publication. When the user clicks
that link, a site of another publication should be opened in that
way, that only the site's content is displayed (within the frame of
this publication) but not the site tree of the second publication.
If you want to include a page, you can just call it using the
lenya-document: protocol or using the site: protocol, appending the
format parameter for the format you need:
<i:include src="lenya-document:{uuid},pub=…?format=xhtml"/>
It is important to include the pub parameter because otherwise the
lenya-document source factory will look for the document only in the
current publication.
HTH,
-- Andreas
--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01
--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]