Mobile 基于cookie存在的XDV条件

Mobile 基于cookie存在的XDV条件,mobile,plone,xdv,Mobile,Plone,Xdv,我想基于cookie条件创建XDV规则 假设我有一个名为“mobile”的cookie,如果它存在,我想删除一些样式表和脚本规则 (顺便说一句,plone.org移动版)XDV/Diazo支持标准XSLT参数,只需添加: <xsl:param name="myvar">default value</xsl:param> 默认值 到的顶层,然后可以使用if内容表达式中的$myvar访问该值 目前只有Nginx提供了配置传入哪些参数的方法(请参阅传入$path参数的示例)

我想基于cookie条件创建XDV规则

假设我有一个名为“mobile”的cookie,如果它存在,我想删除一些样式表和脚本规则


(顺便说一句,plone.org移动版)

XDV/Diazo支持标准XSLT参数,只需添加:

<xsl:param name="myvar">default value</xsl:param>
默认值
的顶层,然后可以使用if内容表达式中的
$myvar
访问该值

目前只有Nginx提供了配置传入哪些参数的方法(请参阅传入$path参数的示例)

Apache mod_tansform模块不支持参数。我有一些半工作代码,但它需要获得xpath引用支持和更好的配置语法,然后才能将其合并到分布式mod_转换中

我想在plone.app.theming(collective.xdv的下一个版本)中看到tal表达式到参数的映射,但我不知道什么时候可以实现它。不过,它应该相当简单

我强烈反对在XPath中添加允许内联tal的xslt扩展


不过,对于这个用例,我确实认为最好有一个单独的web和移动域,正如您在中所提倡的那样;)

您是通过collective.xdv运行xdv还是在其他进程中运行?xdv没有此功能,但是如果您在nginx中应用规则,您可以通过基于cookie选择要应用的xdv样式表来实现类似的功能。请注意,使用[Skinny]很容易做到这一点。SCONNY不是在中间应用变换,而是提供一种简单的方法来开发一个使用ZPT的独立皮肤,并且可以完全访问PLONE和Zope的API(包括请求。Cookie)。我们在vienna.info上使用Skinny提供[单独的移动皮肤]。[Skinny]:[separate mobile skin]:我特别想操纵HTML本身。让XDV这样做的方法是什么?我也不能假设它正在运行collective.XDV-可能是nginx或apache。我认为我们需要向XDV添加一个功能来检查标题。然后,您可以检查Cookie头,或者使用nginx根据Cookie的存在设置自定义头。