我有一个Plone(4.0.1)网站,需要根据文件夹更改布局。想象一下这样的结构:
University > Faculty A > Institute A1 > Person A11
> Person A12
> Institute A2 > Person A21
...
现在如果我将所有需要的资源(自定义css文件,图像等)放入ZODB,人A11的页面会自动选择位于Faculty A文件夹中的fac-image.gif。
但是,为避免混淆,我不想将fac-image.gif暴露给用户。 (这是他们不应该触及的框架的所有部分。)
如果我注册了一个资源,我可以使用++ resource ++ theme.images / path访问这些内容,但是没有从父母那里获取,所以++ resource ++ theme.images / facultyA / instituteA1 / fac- image.gif找不到图像。更糟糕的是,我现在有一个单独的目录结构。
我目前正在做的是通过文件系统目录视图手动滚动“尽力而为”的遍历过程,该过程将尝试沿着路径走,如果子目录不存在则保持原状(即资源树没有人A11的子目录;而不是大喊404我留在学院A1),然后尝试获得备份。对于portal_factory和views有一些诡计,我很确定我错过了更多。
所以:这肯定不是应该这样做的方式,但是什么呢?
答案 0 :(得分:2)
使用CSS。
只需根据您选择的当前部分/教师/方面为您的标记添加标记,并根据这些类别更改图像。将视觉设计与您的内容分开!
答案 1 :(得分:1)
你可以从实现plone3的这个用例的collective.phantasy中启发你(改变文件夹容器的l& f)。
答案 2 :(得分:0)
似乎是这样。我最终注册了一个帮助器视图,用于检查和修改上下文路径,并将其指向其他位置到文件系统目录视图中。