我试图覆盖<browser:page ...具有相同name=属性的CMF外观层提供的视图.这在Plone中是可能的,还是浏览器视图只能覆盖其他浏览器视图?
(这有点晚了,但到底是什么)
CMF外观层覆盖浏览器视图.这就是为什么你必须@@在URL中放置浏览器视图的名称,即消除歧义,并确保调用browserview而不是CMF皮肤层模板.
所以简而言之,如果你放在@@前面,浏览器视图将覆盖,否则不会.
即:
localhost:8080/Plone/@@myview
Run Code Online (Sandbox Code Playgroud)
覆盖:
localhost:8080/Plone/myview
Run Code Online (Sandbox Code Playgroud)
为了克服这个问题,覆盖模板在CMF皮肤层和tal:define该View变量指向你@@myview.然后,您仍然可以从CMF外观层模板访问BrowserViews方法.