Hello all, On Fri, 2011-06-17 at 21:59 +0530, Joshua Immanuel wrote: > Ok, let me give an use-case. Say, I have a base page layout template > for the inner sites like "http://localhost:xxxx/site1" which has many > application related menu links on the top and left hand side of the > page with center space for contents. All these links are of the format > "/container1/...". When I use virtual hosting to '/site1' I have no > problem, all the links will be a valid one, as it will be prefixed by > "http://localhost:xxxx/site1" > > But, If I don't use virtual hosting and I expose > "http://localhost:xxxx/" URL to the user to create new sites. The > links in base page layout template for the inner sites will be an > invalid one as it will be pointing to > "http://localhost:xxxx/container1/.." instead > of "http://localhost:xxxx/site1/container1/.." > > I am trying to figure out how to prefix the links in the base page > layout template with site names based on which site they belong. So > that the links in the base page layout template of 'site1' would be of > the format '/site1/container1/.." and the links in base page layout > template of 'site2' would be of the format '/site2/container1/.." etc. > > I guess the solution to this (without virtual hosting) would be: when > I render the base page layout template for > "http://localhost:xxxx/site1" get the 'site1' part from the request > URL and prefix all the related menu links with them. Is there any > other better solution? > > But, If I use this base page layout template as a macro (just to fill > its center content with an add form say) still the menu links has to > be a valid one. How to handle this?
I used the following code in the base page layout template to get the
site name from the URL
<body tal:define="
rootURL request/getApplicationURL;
fullURL request/getURL;
effURL python: fullURL[len(rootURL)+1:].split('/');">
<span tal:condition="python: len(effURL) > 1">
<span tal:define="global urlPrefix python: effURL[0]"
tal:replace="nothing"/>
</span>
<span tal:condition="python: len(effURL) <= 1">
<span tal:define="global urlPrefix python: ''"
tal:replace="nothing"/>
</span>
...
</body>
I prefix all my menu links with the 'urlPrefix' variable. I guess this
is not the best solution but it solves my problem.
Thanks
--
Joshua Immanuel
HiPro IT Solutions Private Limited
http://hipro.co.in
signature.asc
Description: This is a digitally signed message part
_______________________________________________ bluebream mailing list [email protected] https://mail.zope.org/mailman/listinfo/bluebream
